当前版本3.0.3

QueryWrapper<Person> personQueryWrapper = new QueryWrapper<>();
personQueryWrapper.lambda().select(Person::getName).eq(Person::getId,2);
personQueryWrapper.select("name");

第三行可以实现值查出name字段的值. 第二行lambda方式会查询出所有字段的值,这个是bug呢,还是需要其他设置?

Comment From: miemieYaho

  • QueryWrapper 和 lambdaQueryWrapper 目前没有打通 select 的字段信息
  • 如果打通了,你代码上也只会最后一行生效.
  • QueryWrapper.lambda 是返回一个新的对象,两个对象的 select 信息不互通.
  • 所以,你要么QueryWrapper. lambda 一行写到底得到一个 lambdaQueryWrapper,要么自己在QueryWrapper里 select 然后把这个QueryWrapper传入方法里

Comment From: luosai001

好的,谢谢,已解决

Comment From: little-carrrot-errr

版本3.0.5也是这样