mybatis-push
LambdaQueryWrapper
https://juejin.cn/post/7201154947835527224 常见使用方法
条件查询
LambdaQueryWrapper<User> queryWrapper = Wrappers.<User>lambdaQuery().eq(User::getId, id);
return BeanUtils.copy(userMapper.selectOne(queryWrapper), UserVO::new);
条件删除
LambdaQueryWrapper<User> queryWrapper = Wrappers.<User>lambdaQuery()
.eq(User::getId, id);
return userMapper.delete(queryWrapper);
条件更新
LambdaUpdateWrapper<User> updateWrapper = Wrappers.<User>lambdaUpdate()
.setSql(StringUtils.isNoneEmpty(user.getName()), "name= '" + user.getName() + "'")
.set(User::getAge, user.getAge())
.eq(User::getId, user.getId());
return userMapper.update(user, updateWrapper);
分页查询
LambdaQueryWrapper<User> queryWrapper = Wrappers.<User>lambdaQuery()
.eq(StringUtils.isNotBlank(userDTO.getName()), User::getName, userDTO.getName())
.eq(userDTO.getAge() != null, User::getAge, userDTO.getAge());
return pageConverter.toPageVO(userMapper.selectPage(iPage, queryWrapper));
查询所有数据:
LambdaQueryWrapper<MenuEntity> queryWrapper = Wrappers.<MenuEntity>lambdaQuery();
List<MenuEntity> menuEntities = menuDao.selectList(queryWrapper);
stream 操作
return menuEntitiesList.stream()
// 过滤找出一级分类
.filter(categoryEntity -> categoryEntity.getParentId() == 0)
// 处理,给一级菜单递归设置子菜单 如何孩子啊
.peek(menu -> menu.setChildMenu(getChildless(menu, menuEntitiesList)))
// 按sort属性排序
.sorted