https://blog.csdn.net/qq_45864838/article/details/120934495?spm=1001.2014.3001.5501
注意:resultType:返回值类型,如果为实体类,则需要写具体位置,如com.he.pojo.User
parameterType为传入参数类型,通过#{ }可以获取。
#{ }可以直接填类的字段#{username},#{pwd}等
也可以用map传参,#{ }填的是map的key值
一.增 1.UserMapper接口里面添加方法int insertUser(User user);2.在Mapper.xml中配置映射。
3.Test类中测试insert into mybatis.user(id, username, pwd) VALUES(#{id},#{username},#{pwd})
注意要手动提交事务,否则不会持久化进数据库!
//增
@Test
public void insertUser(){
SqlSession sqlSession = MyBatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int res = mapper.insertUser(new User(4, "火狐", "123123"));
if(res>0) System.out.println("插入成功");
sqlSession.commit(); //增删改都是事务,需要手动提交!!!!
sqlSession.close();
}
二.删
与增类似,这里只附上配置映射,以及测试代码。
配置:
delete from mybatis.user where id=#{id}
测试:
//删
@Test
public void deleteUser(){
SqlSession sqlSession = MyBatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.deleteUser(4);
sqlSession.commit();
sqlSession.close();
}
三.改
配置:
update mybatis.user set username=#{username},pwd=#{pwd} where id=#{id}
测试:
//改
@Test
public void updateUser(){
SqlSession sqlSession = MyBatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.updateUser(new User(4,"呵呵","157762"));
sqlSession.commit();
sqlSession.close();
}
四.查
配置:
测试:
//查
@Test
public void getUserById(){
SqlSession sqlSession = MyBatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = mapper.getUserById(1);
System.out.println(user);
sqlSession.close();
}
模糊查询:
配置:
测试:
//模糊查询
@Test
public void getUserByLastName(){
SqlSession sqlSession = MyBatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List userList = mapper.getUserByLastName("李%");
for (User user : userList) {
System.out.println(user);
}
sqlSession.commit();
sqlSession.close();
}
五.map的使用。
使用map传参,parameterType里填写map,#{ }里为key值。
配置:
//map的使用
@Test
public void updatePwd(){
SqlSession sqlSession = MyBatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
HashMap map = new HashMap<>();
map.put("id",1);
map.put("pwd",987561);
mapper.updatePwd(map);
sqlSession.commit();
sqlSession.close();
}
update mybatis.user set pwd=#{pwd} where id=#{id}
测试:
//map的使用
@Test
public void updatePwd(){
SqlSession sqlSession = MyBatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
HashMap map = new HashMap<>();
map.put("id",1);
map.put("pwd",987561);
mapper.updatePwd(map);
sqlSession.commit();
sqlSession.close();
}
总结:
环境配置好后,只需要先在接口中添加方法,再在对应的配置文件中配置相应的语句,再在测试类中测试,
测试类模板:
@Test
public void 函数名(){
SqlSession sqlSession = MyBatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(接口.class);
mapper.接口方法名();
sqlSession.commit();//手动提交
sqlSession.close();//关闭连接
}



