mybatis pagehelper example 按创建时间字段排序分页查询 例子
时间: 2024-09-30 08:15:53 浏览: 36
MyBatis PageHelper是一个常用的分页插件,它可以简化数据库分页操作。如果你想按照创建时间字段对数据进行排序并分页查询,可以参考下面的示例代码:
首先,确保你已经添加了PageHelper的依赖到项目中。如果你使用的是Maven,可以在pom.xml文件中添加如下依赖:
```xml
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.x.x</version> <!-- 请替换实际版本 -->
</dependency>
```
然后,在你的Mapper接口里,假设你有一个User实体类,其包含`createTime`字段,你可以这样编写方法:
```java
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.Page;
import com.example.demo.entity.User;
public interface UserMapper extends BaseMapper<User> {
Page<User> selectUsersByCreateTime(int pageNum, int pageSize, String createTime); // 参数分别为页码、每页大小和排序条件
}
```
在service层或者业务逻辑中,你可以这样使用PageHelper进行分页查询:
```java
@Autowired
private UserMapper userMapper;
List<User> users = userMapper.selectUsersByCreateTime(pageNum, pageSize, "createTime DESC"); // 排序条件这里设置为降序,如果需要升序则改为"createTime ASC"
PageHelper.startPage(pageNum, pageSize); // 初始化分页插件
users = userMapper.selectUsersByCreateTime(); // 这里不需要提供页码和排序条件,PageHelper会自动处理
// 获取总记录数
int total = userMapper.countUsersByCreateTime(); // 如果需要手动统计,可以在这个方法里计算
// 提取分页信息
Map<String, Object> map = new HashMap<>();
map.put("total", total);
map.put("list", users);
```
注意,这个例子假设你的数据库表中有`createTime`字段,并且你想按此字段降序排列。你可以根据实际情况调整排序方向。另外,记得在项目的配置文件中开启PageHelper的插件。
阅读全文