irpas技术客

MyBatis-Plus(三.Wrapper条件查询)_z.q.xiao_wrapper.like

大大的周 5074

Wrapper是Mybatis-plus中特有的条件封装接口

也就是把查询的条件封装到Wrapper实现类中

它的各个实现类有什么作用呢, 我觉得直接顾名思义吧?

QueryWrapper(删,查) @SpringBootTest public class QueryWrapperTest{ @Autowired UserMapper userMapper; QueryWrapper<User> wrapper = new QueryWrapper<>(); // 查 @Test public void testGet(){ String username = "u"; wrapper.like(username != null, "username", username).eq("id", 1); // 支持链式条件 List<User> users = userMapper.selectList(wrapper); users.forEach(System.out::println); } // 删 @Test public void testDel(){ String username = "o"; wrapper.like(username != null, "username", username); userMapper.delete(wrapper); } }

因为参数一般都从前端传来的数据中得到, 所以必须用条件封装的第一个参数确认它不为null

UpdateWrapper(改) @SpringBootTest public class UpdateWrapperTest{ @Autowired UserMapper userMapper; UpdateWrapper<User> wrapper = new UpdateWrapper<>(); // 改 @Test public void test(){ wrapper.eq("id", 13); User user = new User(13, "usebzar", "ziagza", "zaugz", 1); userMapper.update(user, wrapper); } } LambdaQueryWrapper(删,查)

LambdaQueryWrapper对比于QueryWrapper不同的是, 第二个参数是一个getter方法, 可以通过类名::方法名获取, 所以是很推荐使用的方法

@SpringBootTest public class LambdaQueryWrapperTest{ @Autowired UserMapper userMapper; LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>(); // 查 @Test public void testGet(){ String username = "z"; wrapper.like(username != null, User::getUsername, "z"); // User::getUsername获取getter方法 List<User> users = userMapper.selectList(wrapper); users.forEach(System.out::println); } } LambdaUpdateWrapper(改)

应该可以从前三者中推断出它的用法了

Wrapper中的条件字段


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #wrapperlike