导入依赖(pom.xml)
mysql
mysql-connector-java
5.1.47
org.mybatis
mybatis
3.5.4
junit
junit
4.12
test
org.projectlombok
lombok
1.18.10
provided
src/main/resources
***.xml
src/main/java
***.xml
false
mybatis-config.xml
MybatisUtils
//sqlSessionFactory --> sqlSession
public class MybatisUtils {
private static SqlSessionFactory sqlSessionFactory = null;
static {
try {
//使用Mybatis第一步 :获取sqlSessionFactory对象
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
//既然有了 SqlSessionFactory,顾名思义,我们可以从中获得 SqlSession 的实例.
// SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。
public static SqlSession getSqlSession() {
return sqlSessionFactory.openSession();
}
}
Users数据库实现类
public class Users{
private int id;
private String name1;
private String pwd;
public Users() {
}
public Users(int id, String name1, String pwd) {
this.id = id;
this.name1 = name1;
this.pwd = pwd;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName1() {
return name1;
}
public void setName1(String name1) {
this.name1 = name1;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
@Override
public String toString() {
return "UserDao{" +
"id=" + id +
", name1='" + name1 + ''' +
", pwd='" + pwd + ''' +
'}';
}
}
UsersMapper接口(com.muzi.dao)
public interface UsersMapper {
//获取全部用户
List getUsersList();
//根据ID查询用户
Users getUsersById(int id);
//insert(添加)一个用户
int addUsers(Users users);
//修改用户
int updateUsers(Users users);
//删除一个用户
int deleteUsers(int id);
//用万能Map插入用户
int addUsers2(Map map);
//模糊查询
List getUsersLike(String value);
}
UsersMapper.xml(com.muzi.dao)
测试:Test
public class UsersMapperTest {
@Test
public void test() {
//1.获取SqlSession对象
SqlSession sqlSession = MybatisUtils.getSqlSession();
//2.执行SQL
// 方式一:getMapper
UsersMapper u = sqlSession.getMapper(UsersMapper.class);
List userList = u.getUsersList();
for (Users users : userList) {
System.out.println(users);
}
//关闭sqlSession
sqlSession.close();
}
@Test
public void getUsersById() {
//固定
SqlSession sqlSession = MybatisUtils.getSqlSession();
//通过SqlSession获取接口
//固定
UsersMapper mapper = sqlSession.getMapper(UsersMapper.class);
//查询id为2的用户
Users usersById = mapper.getUsersById(2);
System.out.println(usersById);
//固定
sqlSession.close();
}
//增删改需要提交事务
@Test
public void addUsers() {
//固定
SqlSession sqlSession = MybatisUtils.getSqlSession();
//通过SqlSession获取接口
//固定
UsersMapper mapper = sqlSession.getMapper(UsersMapper.class);
int u = mapper.addUsers(new Users(4, "沐沐", "886066"));
if (u > 0) {
System.out.println("插入成功!");
}
//提交事务,如果没提交事务数据库不发生改变
sqlSession.commit();
sqlSession.close();
}
@Test
public void updateUsers() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UsersMapper mapper = sqlSession.getMapper(UsersMapper.class);
mapper.updateUsers(new Users(4, "木木", "000000"));
//提交事务
sqlSession.commit();
sqlSession.close();
}
@Test
public void deleteUsers() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UsersMapper mapper = sqlSession.getMapper(UsersMapper.class);
mapper.deleteUsers(7);
//提交事务
sqlSession.commit();
sqlSession.close();
}
@Test
public void test3() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UsersMapper mapper = sqlSession.getMapper(UsersMapper.class);
HashMap map = new HashMap();
map.put("userid", 5);
map.put("username", "王虎");
map.put("userpassword", "72289");
mapper.addUsers2(map);
//提交事务
sqlSession.commit();
//关闭资源
sqlSession.close();
}
@Test
public void test4(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UsersMapper mapper = sqlSession.getMapper(UsersMapper.class);
List l = mapper.getUsersLike("王");
for (Users users : l){
System.out.println(users);
}
sqlSession.close();
}
}



