标签:QueryWrapper Wrapper MybatisPlus userMapper wrapper 查询 构造 new id
我们写一些复杂的sql就可以使用它来替代!
1、测试一: 查询name不为空的用户,并且邮箱不为空的用户,年龄大于等于12
@Test void contextLoads() { // 查询name不为空的用户,并且邮箱不为空的用户,年龄大于等于12 QueryWrapper<User> wrapper = new QueryWrapper<>(); wrapper .isNotNull("name") .isNotNull("email") .ge("age",12); userMapper.selectList(wrapper).forEach(System.out::println); // 和map对比一下 }
2、测试二:查询名字狂神说(bilibili中搜索,讲的很好)
@Test void test2(){ // 查询名字狂神说 QueryWrapper<User> wrapper = new QueryWrapper<>(); wrapper.eq("name","狂神说"); User user = userMapper.selectOne(wrapper); // 查询一个数据,出现多个结果使用List 或者 Map System.out.println(user); }
3、测试三: 查询年龄在 20 ~ 30 岁之间的用户
@Test void test3(){ // 查询年龄在 20 ~ 30 岁之间的用户 QueryWrapper<User> wrapper = new QueryWrapper<>(); wrapper.between("age",20,30); // 区间 Integer count = userMapper.selectCount(wrapper);// 查询结果数 System.out.println(count); }
4、测试四:查询年龄在 20 ~ 30 岁之间的用户
@Test void test4(){ // 查询年龄在 20 ~ 30 岁之间的用户 QueryWrapper<User> wrapper = new QueryWrapper<>(); // 左和右 t% wrapper .notLike("name","e") .likeRight("email","t"); List<Map<String, Object>> maps = userMapper.selectMaps(wrapper); maps.forEach(System.out::println); }
5、测试五:id 在子查询中查出来
@Test void test5(){ QueryWrapper<User> wrapper = new QueryWrapper<>(); // wrapper.inSql("id","select id from user where id<3"); List<Object> objects = userMapper.selectObjs(wrapper); objects.forEach(System.out::println); }
6、测试六:通过id进行排序
@Test void test6(){ QueryWrapper<User> wrapper = new QueryWrapper<>(); // 通过id进行排序 wrapper.orderByAsc("id"); List<User> users = userMapper.selectList(wrapper); users.forEach(System.out::println); }
使用添加构造器来分页
public Page<Users> FindListUsers(Integer index, Integer size) throws Exception { Page<Users> page = new Page<>(index,size); QueryWrapper<Users> wapper = new QueryWrapper<Users>(); wapper.eq("name", "张三"); ... userMapper.selectPage(page, wapper); return page; }
标签:QueryWrapper,Wrapper,MybatisPlus,userMapper,wrapper,查询,构造,new,id 来源: https://www.cnblogs.com/64Byte/p/13234926.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。