一身转战三千里,一剑曾当百万师。这篇文章主要讲述MybatisPlus使用Wrapper实现查询功能相关的知识,希望能为你提供帮助。
Wrapper---条件查询器:使用它可以实现很多复杂的查询
几个案例
环境:
参照博客:MybatisPlus入门程序
1.条件查询
1.1
查询name不为空的用户,并且邮箱不为空的用户,年龄大于等于12的用户
//查询name不为空的用户,并且邮箱不为空的用户,年龄大于等于12 @Test void selectBy01(){ ? QueryWrapper< User> wrapper=new QueryWrapper< > (); wrapper .isNotNull("name") //name不为空的用户 .isNotNull("email") //邮箱不为空的用户 .ge("age",12); //年龄大于等于12 ? userMapper.selectList(wrapper).forEach(System.out::println); }
结果
文章图片
1.2 查询 name 为 "Jone" 的用户
//查询name为 "Jone" 的用户 @Test void selectBy02(){ ? QueryWrapper< User> wrapper=new QueryWrapper< > (); wrapper.eq("name","Jone"); //name为 "Jone" 的用户 ? //查询一个数据,为多个用 selectList 或者 selectByMap User user = userMapper.selectOne(wrapper); ? System.out.println(user); }
结果
文章图片
1.3 查询 10 到 20 岁的用户数
//查询 10 到 20 岁的用户数 @Test void selectBy03(){ QueryWrapper< User> wrapper=new QueryWrapper< > (); wrapper.between("age",10,20); ? Integer count = userMapper.selectCount(wrapper); //查询 10 到 20 岁的用户的结果数 ? System.out.println(count); }
结果
文章图片
2.模糊查询
2.1 使用 like + notLike + likeRight
@Test void selectLike01(){ QueryWrapper< User> wrapper=new QueryWrapper< > (); wrapper .notLike("name","To") //名字不包含 To .like("name","o") //名字包含 o 的 //左和右 左:%e右:e%两边:%e% //右查询 .likeRight("email","test"); ? List< Map< String, Object> > users = userMapper.selectMaps(wrapper); users.forEach(System.out::println); }
结果
文章图片
2.2 子查询
@Test void selectLike02(){ QueryWrapper< User> wrapper=new QueryWrapper< > (); wrapper //一个SQL语句写的子查询 .inSql("id","select id from user where age< 20"); ? List< Object> users = userMapper.selectObjs(wrapper); users.forEach(System.out::println); }
结果
文章图片
2.3 降序排序
@Test void selectLike03(){ QueryWrapper< User> wrapper=new QueryWrapper< > (); //降序排序 wrapper.orderByDesc("id"); //升序排序 //wrapper.orderByAsc("id"); ? List< User> users = userMapper.selectList(wrapper); users.forEach(System.out::println); }
【MybatisPlus使用Wrapper实现查询功能】结果
文章图片
推荐阅读
- [编译] 7在Linux下搭建安卓APP的开发烧写环境(makefile版-gradle版)—— 在Linux上用命令行+VIM开发安卓APP
- 用网页计数器来说明application和session
- Mpvue中使用Vant Weapp组件库
- [PowerShell]win10 卸载apps
- 2020 Android 大厂面试(之)插件化模块化组件化热修复增量更新Gradle
- Mapper 编写有哪几种方式()
- ApplicationConsul安装及运行
- Spring的applicationContext默认使用无参构造创建对象
- application.properties中的list配置