1.MybatisPlus(二)MybatisPlus入门案例2.MybatisPlus(一)MybatisPlus简介3.MybatisPlus(三)MybatisPlus CRUD操作4.MybatisPlus(四)MybatisPlus分页5.MybatisPlus(五)MybatisPlus条件查询6.MybatisPlus(六)MybatisPlus-空值处理
7.MybatisPlus(七)MybatisPlus-DQL编程控制(上)
8.MybatisPlus(八)MybatisPlus-DQL编程控制(下)9.MybatisPlus(九)MybatisPlus-DML编程控制10.MybatisPlus(十)MybatisPlus-逻辑删除和多记录操作11.MybatisPlus(十一)MybatisPlus-乐观锁12.MybatisPlus(十二)Mybatis-Plus 代码生成器
一、查询条件设置
查询条件如下图:
用户登录(eq匹配),代码示例:
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>(); //等同于= lqw.eq(User::getName, "Jerry").eq(User::getPassword, "jerry"); User loginUser = userDao.selectOne(lqw); System.out.println(loginUser);
购物设定价格区间、户籍设定年龄区间(le ge匹配 或 between匹配)
代码示例:
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>(); //范围查询 lt le gt ge eq between //范围查询 lt le (不带等号 ) gt ge(带等号) eq between lqw.between(User::getAge, 10, 30); List<User> userList = userDao.selectList(lqw); System.out.println(userList);
注意:范围查询 lt le (不带等号 ) gt ge(带等号) eq between
模糊匹配 ,查信息,搜索新闻(非全文检索版:like匹配)代码示例:
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>(); //模糊匹配 like likeRight likeLeft lqw.likeLeft(User::getName, "J"); List<User> userList = userDao.selectList(lqw); System.out.println(userList);
统计报表(分组查询聚合函数),代码示例:
QueryWrapper<User> qw = new QueryWrapper<User>(); qw.select("gender","count(*) as nums"); qw.groupBy("gender"); List<Map<String, Object>> maps = userDao.selectMaps(qw); System.out.println(maps);
二、查询投影
查询投影:查出来的东西有多少字段,设置查询出来的结果长什么样,查出的字段控制;
查询投影适用于lamda格式,使用select 查询 lqw.select(User::getId,User::getName,User::getAge);
代码示例:
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();
lqw.select(User::getId,User::getName,User::getAge);
QueryWrapper<User> lqw = new QueryWrapper<User>();
lqw.select("id","name","age","tel");
List<User> userList = userDao.selectList(lqw);
System.out.println(userList);
普通查询查询投影,代码示例:
QueryWrapper<User> lqw = new QueryWrapper<User>();
lqw.select("id", "name", "age", "tel");
List<User> userList = userDao.selectList(lqw);
System.out.println(userList);
查询 count (*)使用List<Map<String, Object>> userList = userDao.selectMaps(lqw);
查询投影和分组代码示例:
QueryWrapper<User> lqw = new QueryWrapper<User>();
lqw.select("count(*) as count, tel");
lqw.groupBy("tel");
List<Map<String, Object>> userList = userDao.selectMaps(lqw);
System.out.println(userList);
查询结果包含模型类中部分属性,代码示例:
/*LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();
lqw.select(User::getId, User::getName, User::getAge);*/
//或者
QueryWrapper<User> lqw = new QueryWrapper<User>();
lqw.select("id", "name", "age", "tel");
List<User> userList = userDao.selectList(lqw);
System.out.println(userList);
查询结果包含模型类中未定义的属性,代码示例:
QueryWrapper<User> lqw = new QueryWrapper<User>();
lqw.select("count(*) as count, tel");
lqw.groupBy("tel");
List<Map<String, Object>> userList = userDao.selectMaps(lqw);
System.out.println(userList);
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)