QueryWrapper的group by方法
- QueryWrapper
queryWrapper=new QueryWrapper(); - queryWrapper.select("dept_id,count(1) countSum");
- queryWrapper.groupBy("dept_id");
- queryWrapper.isNotNull("dept_id");
LambdaQueryWapper的group by方法
lambdaQueryWrapper.select(AdminUserDO::getDeptId,Functions.max(AdminUserDO::salary)).groupBy(AdminUserDO::getDeptId).isNotNull(AdminUserDO::getDeptId);
这个方式是在其他网站看到的,有个问题,没有找到Functions.max这个方法
LambdaQueryWapper的多表连接查询
- MPJLambdaWrapper< UserDO > wrapper = new MPJLambdaWrapper<UserDO>()
- .selectAll(UserDO.class)
- .select(UserDetailDO::getTel)
- .selectAs(UserDetailDO::getAddress, UserDTO::getUserAddress)
- .leftJoin(UserDetailDO.class, UserDetailDO::getUserId, UserDO::getId)
- .eq(UserDO::getSex, 1)
- .like(UserDetailDO::getAddress, "海淀")
-
- //列表查询
- List<UserDTO> list = userMapper.selectJoinList(UserDTO.class, wrapper);
-
- //分页查询 (需要启用 mybatis plus 分页插件)
- List<UserDTO> listPage = userMapper.selectJoinPage(new Page<>(1, 10), UserDTO.class, wrapper);
生成的sql是这样的(未验证)
- SELECT
- u.id,
- u.name,
- u.sex,
- u.head_img,
- ud.tel,
- ud.address AS user_address
- FROM
- user u
- LEFT JOIN user_detail ud on u.id = ud.user_id
- WHERE u.sex = 1 AND ud.address LIKE "%海淀%"