1、LambdaQueryWrapper 主要是帮我们动态的拼接SQL查询条件 至于基础的eq、like、one、or 、list、last 等用法就不在这里说了 2、拼接SQL语句用法 如 Wrappers.<FicoCostEntity>query().lambda().. 后加last 拼接SQL
.last("and DATE_FORMAT(report_time,'%Y-%m')='"+DateUtil.formatDate(map.get(key).get(0).getReportTime()).substring(0,7)+"'")
);
List<USer> listO = baseMapper.selectList(
Wrappers.<USer>query().lambda()
.eq(USer::getIsDeleted,0)
.eq(USer::getApprovalStatus,0)
.last("and DATE_FORMAT(report_time,'%Y-%m')='"+DateUtil.formatDate(map.get(key).get(0).getReportTime()).substring(0,7)+"'")
);
3、 Wrapper 条件构造器中 group by
相关的方法如下:
groupBy(R... columns)
groupBy(boolean condition, R... columns)
4、Lambda 表达式两种方式来演示
组装查询条件
QueryWrapper<User> wrapper = new QueryWrapper<>();
// 通过 id, name 字段进行分组
wrapper.groupBy("id", "name");
// 实际执行 SQL : SELECT id,name,age,gender FROM user GROUP BY id,name
List<User> users = userMapper.selectList(wrapper);
5、Lambda形式
// 实际执行 SQL : SELECT id,name,age,gender FROM user GROUP BY id,name
List<User> users1 = userMapper.selectList(new QueryWrapper<User>()
.lambda().groupBy(User::getId, User::getName));
6、lambdaQueryWrapper中常用方法