Mybatis02:CRUD操作

这篇文章用到的项目案例还是Mybatis入门01–第一个Mybatis程序

select

  • 在 UserMapper 添加接口方法即可
// 根据ID查询用户
User getUserById(int id);
  • 在UserMapper.xml中添加Select语句
<select id="getUserById" parameterType="int" resultType="com.wu.pojo.User">
	select * from user where id = #{id}
</select>
  • 测试类中测试
@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();
}

注:增删改需要提交事务

insert

  • 在 UserMapper 添加接口方法即可
// insert一个用户
int insertUser(User user);
  • 在UserMapper.xml中添加insert语句
<!--对象中对属性可以直接取出来-->
<insert id="insertUser" parameterType="com.wu.pojo.User">
	insert into user(id,name,pwd) values(#{id},#{name},#{pwd})
</insert>
  • 测试类中测试
@Test
public void insertUser() {
	SqlSession sqlSession = MybatisUtils.getSqlSession();
	UserMapper mapper = sqlSession.getMapper(UserMapper.class);
	int res = mapper.insertUser(new User(4, "赵六", "123545"));
	if (res > 0) {
		System.out.println("插入成功");
	}
	// 提交事务
	sqlSession.commit();
	sqlSession.close();
}

update

  • 在 UserMapper 添加接口方法即可
// 修改用户
int updateUser(User user);
  • 在UserMapper.xml中添加update语句
<update id="updateUser" parameterType="com.wu.pojo.User">
	update user set name=#{name},pwd =#{pwd} where id=#{id}
</update>
  • 测试类中测试
@Test
public void updateUser() {
	SqlSession sqlSession = MybatisUtils.getSqlSession();
	UserMapper mapper = sqlSession.getMapper(UserMapper.class);
	mapper.updateUser(new User(5, "小八", "zsssdds"));
	sqlSession.commit();
	sqlSession.close();
}

delete

  • 在 UserMapper 添加接口方法即可
// 删除一个用户
int deleteUser(int id);
  • 在UserMapper.xml中添加delete语句
<delete id="deleteUser" parameterType="int">
	delete from user where id =#{id}
</delete>
  • 测试类中测试
@Test
public void deleteUser() {
	SqlSession sqlSession = MybatisUtils.getSqlSession();
	UserMapper mapper = sqlSession.getMapper(UserMapper.class);
	mapper.deleteUser(5);
	sqlSession.commit();
	sqlSession.close();
}

Map

也可以用map(先记住有这个操作就行) ,多用于传多个参数,这里用查询演示一下

  • 在 UserMapper 添加接口方法即可
User getUserById2(Map<String,Object> map);
  • 在UserMapper.xml中添加该方法的语句
<!--这个后面的参数对应map的key,名字可以自己随便取,不要求和实体类一一对应-->
<select id="getUserById2" parameterType="map" resultType="com.wu.pojo.User">
	select * from user where id = #{userid} and name =#{username}
</select>
  • 测试类中测试
@Test
public void getUserById2() {
	SqlSession sqlSession = MybatisUtils.getSqlSession();
	UserMapper mapper = sqlSession.getMapper(UserMapper.class);
	Map<String, Object> map = new HashMap<String, Object>();
	map.put("userid", 1);
	map.put("username", "张三");
	User user = mapper.getUserById2(map);
	System.out.println(user);
	sqlSession.close();
}

模糊查询LIKE

  • 在 UserMapper 添加接口方法即可
//模糊查询
List<User> getUserList2(String value);
  • 在UserMapper.xml中添加该方法的语句
<!--也可以用concat拼接-->
<select id="getUserList2" resultType="com.wu.pojo.User">
	select * from user where name like #{value}
</select>
  • 测试类中测试
@Test
public void getUserList2() {
	SqlSession sqlSession = MybatisUtils.getSqlSession();
	UserMapper mapper = sqlSession.getMapper(UserMapper.class);
	List<User> users = mapper.getUserList2("%李%");
	for (User user : users) {
		System.out.println(user);
	}
}

是不是感觉代码又减少了不少

最后说明下:增删改一定要提交事务!!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值