mybatisPlus 中LambdaQueryWrapper 的 select 方法只能调用一次,如果调用第二次就会覆盖第一次
比如,我有一个 user 表,我只想查询里面的 id 和name 字段。
错误示范:
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.select(User::getId);
wrapper.select(User::getName);
List<User> users = subCompanyMapper.selectList(wrapper);
这样子查询出来的 users 中只会有 name 字段,id 字段为 null,是因为第二次调用 select 把第一次调用覆盖掉了。
正确的写法:
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.select(User::getId, User::getName);
List<User> users = subCompanyMapper.selectList(wrapper);
这样查询出来的 users 就只会有 id 和 name 字段了。 QueryWrapper 也是同理