mybatis-plus 使用LambdaQueryWrapper列表查询按照abcd...排序 其中还有包含中文
时间: 2023-08-28 14:32:21 浏览: 159
在 MyBatis-Plus 中,可以使用 `LambdaQueryWrapper` 来构造查询条件,并使用 `orderByAsc` 方法来指定按照指定列的字母顺序进行升序排序。
如果需要按照中文进行排序,可以在 `orderByAsc` 方法中使用 `COLLATE` 关键字来指定排序规则。例如,`utf8mb4_general_ci` 排序规则支持中文排序。
以下是一个示例代码,假设你的实体类为 `User`,需要按照 `name` 列的字母顺序进行升序排序,其中 `name` 列包含中文:
```java
List<User> userList = userMapper.selectList(new LambdaQueryWrapper<User>()
.orderByAsc(User::getName, SqlKeyword.COLLATE, "utf8mb4_general_ci"));
```
在这个示例中,我们使用了 `LambdaQueryWrapper` 类来构造查询条件,并使用 `orderByAsc` 方法来指定按照 `User` 实体类的 `getName` 方法的返回值进行升序排序。同时,我们在 `orderByAsc` 方法中使用了 `SqlKeyword.COLLATE` 和 `utf8mb4_general_ci` 来指定排序规则为支持中文排序的规则。最终,我们使用 `selectList` 方法来执行查询操作,并将结果保存到 `userList` 变量中。
需要注意的是,如果你的数据库使用的是其他的排序规则,可能需要使用对应的排序规则来进行中文排序。
阅读全文