selectByExampleAndRowBounds 条件查询 按照某字段排序 分页
时间: 2023-07-24 09:28:00 浏览: 207
MySQL 查询的排序、分页相关
`selectByExampleAndRowBounds` 方法可以实现条件查询和分页,同时也可以按照某字段排序。具体的使用方式可以参考以下代码:
```java
Example example = new Example(User.class);
example.createCriteria().andEqualTo("status", 1);
example.setOrderByClause("create_time DESC");
// 构造 RowBounds 对象实现分页
RowBounds rowBounds = new RowBounds((pageNum - 1) * pageSize, pageSize);
List<User> userList = userMapper.selectByExampleAndRowBounds(example, rowBounds);
```
在上述代码中,我们首先创建了一个 Example 对象,并通过 `createCriteria()` 方法指定了查询条件,即 `status = 1`。接着,通过 `setOrderByClause()` 方法设置了排序规则,即按照 `create_time` 字段降序排列。然后,构造了一个 RowBounds 对象实现分页,其中 `(pageNum - 1) * pageSize` 表示查询结果集的起始位置,`pageSize` 表示每页显示的记录数。最后调用 `selectByExampleAndRowBounds()` 方法进行查询,并将符合条件的结果集保存在 `userList` 中。
需要注意的是,`selectByExampleAndRowBounds` 方法中的排序规则语句和 `setOrderByClause()` 方法中的语法相同,例如 `create_time DESC` 表示按照 `create_time` 字段降序排列。同时,需要在查询语句之前构造 RowBounds 对象实现分页,否则分页无效。
阅读全文