QueryWrapper in 后根据数组条件排序
时间: 2023-07-28 15:25:44 浏览: 182
在使用 QueryWrapper 的 in 方法查询时,可以通过 orderBy 方法来指定查询结果的排序方式,orderBy 方法可以链式调用,可以指定多个排序条件。
例如,我们有一个 User 实体类,其中有一个 name 字段,我们需要查询名字在一个数组中的用户,并按照 age 字段降序排序,可以使用以下代码:
```java
String[] names = {"张三", "李四", "王五"};
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.in("name", names).orderByDesc("age");
List<User> userList = userMapper.selectList(wrapper);
```
这个例子中,我们首先定义了一个名字数组 names,然后使用 QueryWrapper 的 in 方法查询名字在 names 数组中的用户,并通过 orderByDesc 方法指定按照 age 字段降序排序。最后执行查询,返回符合条件的 User 列表。
除了 orderByDesc 方法之外,QueryWrapper 还提供了 orderByAsc 方法,可以指定升序排序。如果需要指定多个排序条件,可以通过链式调用来实现,例如:
```java
wrapper.in("name", names).orderByDesc("age").orderByAsc("create_time");
```
这个例子中,我们在 orderByDesc 方法后面又调用了 orderByAsc 方法,指定了两个排序条件,先按照 age 字段降序排序,再按照 create_time 字段升序排序。
阅读全文