当前使用版本(必填,否则不予处理)
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.1</version>
</dependency>
该问题是如何引起的?(确定最新版也有问题再提!!!)
我想在LambdaQueryWrapper的orderBy()中使用变量来控制按照某个字段来排序,但是LambdaQueryWrapper的orderBy()似乎不支持使用自己定义的变量来作为第三个参数
重现步骤(如果有就写完整)
下面是我的伪代码
String name = User表中的随便一个name;
String sortField = 按此字段进行排序;
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(true, User::getName, name);
queryWrapper.orderBy(true, true, sortField); // 这一行会报错
报错信息
"无法解析方法 'orderBy(boolean, boolean, String)" 就是这个方法的第三个参数是不支持字符串的,但是呢,我不想硬编码,把排序字段写死,我该如何实现呢? 同时呢,我还需要使用LambdaQueryWrapper,因为它提供的lambda表达式这种实现,太香了。我可以不必硬编码。
Comment From: miemieYaho
QueryWrapper.orderby().lambda()
Comment From: liuyuan-1024
多谢,我现在就去试试