把LambdaQueryWrapper<SysUserRole> lqw = Wrappers.lambdaQuery(SysUserRole.class).select(SysUserRole::getUserId).in(SysUserRole::getRoleId, groups); List<Long> userIds = SimpleQuery.list(lqw, SysUserRole::getUserId);改成mybatis plus3.3.0的写法
时间: 2024-02-27 17:57:20 浏览: 86
村田LQW15系列最佳替代产品-LQW15A_datasheet.pdf
在 MyBatis Plus 3.3.0 中,可以这样重写上述代码:
```
List<Long> userIds = new LambdaQueryChainWrapper<>(sysUserRoleMapper)
.select(SysUserRole::getUserId)
.in(SysUserRole::getRoleId, groups)
.list()
.stream()
.map(SysUserRole::getUserId)
.collect(Collectors.toList());
```
其中,`sysUserRoleMapper` 是 `SysUserRole` 的 Mapper 接口,需要通过依赖注入或者其他方式获取。此外,`LambdaQueryChainWrapper` 是 MyBatis Plus 3.3.0 中新增的链式查询 Wrapper,可以方便地进行 Lambda 表达式查询,可以取代旧版本中的 `LambdaQueryWrapper`。
阅读全文