初始化配置mybatis,以及使用mybatis实现增删改查curd操作
1:导入mybatis jar包到maven中
<dependency>
<groupId>org.mybatisgroupId>
<artifactId>mybatisartifactId>
<version>3.5.10version>
dependency>
2:把maven关键配置导入pom.xml中防止报错
<build>
<resources>
<resource>
<directory>src/main/javadirectory>
<includes>
<include>**/*.propertiesinclude>
<include>**/*.xmlinclude>
includes>
<filtering>falsefiltering>
resource>
<resource>
<directory>src/main/resourcesdirectory>
resource>
resources>
build>
3:根据官网mybatis文档开始初始化操作
首先初始化maven项目结构
在java目录先新建3个文件包,分别是utils pojo mapper
新建MybatisUtils.class到utils包下
package com.terry.utils;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
public class MybatisUtils {
private static SqlSessionFactory sqlSessionFactory;
static {
try {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
public static SqlSession getSqlSession() {
return sqlSessionFactory.openSession();
}
}
新建mybatis-config.xml到resources目录下
<?xml version="1.0" encoding="UTF-8" ?> DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">default="development">
新建一个实体类user到pojo包下,对应数据库中的user
package com.terry.pojo;
public class user {
private int id;
private String username;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
新建一个usermapper接口到mapper包下,接口中定义需要使用的数据库操作方法
package com.terry.mapper;
import com.terry.pojo.user;
import java.util.List;
public interface userMapper {
//获取全部用户属性
List getUserList();
//根据用户id获取用户属性
user getUserById(int id);
//增加用户
void InsertUser(user user);
//根据id修改用户
void updatauser(user user);
//根据id删除用户
void deleteuser(int id);
}
新建一个usermapper.xml到mapper包下
<?xml version="1.0" encoding="UTF-8" ?> DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">insert into user values (#{id}, #{username}, #{password}) update user set username=#{username},password=#{password} where id=#{id} delete from user where id=#{id}
4:测试CURD代码
新建一个测试目录test
查询全部成员测试类SelectAllTest.class
import com.terry.mapper.userMapper;
import com.terry.pojo.user;
import com.terry.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
public class SelectAllTest {
@Test
public void test() {
try (SqlSession sqlSession = MybatisUtils.getSqlSession()) {
userMapper mapper = sqlSession.getMapper(userMapper.class);
for (user user : mapper.getUserList()) {
System.out.println(user.getId() + "\t" + user.getUsername() + "\t" + user.getPassword());
}
}
}
}
根据id查询selectUserByid.class
import com.terry.mapper.userMapper;
import com.terry.pojo.user;
import com.terry.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
public class selectUserByid {
@Test
public void test() {
try (SqlSession sqlSession = MybatisUtils.getSqlSession()) {
userMapper mapper = sqlSession.getMapper(userMapper.class);
user user = mapper.getUserById(3);
System.out.println(user.getId() + "\t" + user.getUsername() + "\t" + user.getPassword());
}
}
}
根据id更新用户 updatauser.class
import com.terry.mapper.userMapper;
import com.terry.pojo.user;
import com.terry.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
public class updatauser {
@Test
public void test(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
userMapper mapper = sqlSession.getMapper(userMapper.class);
user u=new user();
u.setId(1);
u.setUsername("zzz");
u.setPassword("zhang12340");
mapper.updatauser(u);
sqlSession.commit();
sqlSession.close();
}
}
根据id删除用户 deleteuser.clas
import com.terry.mapper.userMapper;
import com.terry.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
public class deleteuser {
@Test
public void test(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
userMapper mapper = sqlSession.getMapper(userMapper.class);
mapper.deleteuser(1);
sqlSession.commit();
sqlSession.close();
}
}
插入用户操作 InsertUser.class
import com.terry.mapper.userMapper;
import com.terry.pojo.user;
import com.terry.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
public class InsertUser {
@Test
public void test() {
user u = new user();
u.setId(5);
u.setUsername("java");
u.setPassword("zhang12345");
try (SqlSession sqlSession = MybatisUtils.getSqlSession()) {
userMapper mapper = sqlSession.getMapper(userMapper.class);
mapper.InsertUser(u);
sqlSession.commit();
sqlSession.close();
}
}
}