pagehelper分页查询mybatis-plus
时间: 2025-02-20 08:53:59 浏览: 58
### 使用 PageHelper 实现 MyBatis Plus 分页查询
#### 依赖配置
为了在 Spring Boot 中使用 MyBatis Plus 和 PageHelper 进行分页查询,需先在 `pom.xml` 文件中引入必要的依赖:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>最新版本号</version>
</dependency>
<!-- 引入pagehelper -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>最新版本号</version>
</dependency>
```
#### 配置文件设置
接着,在项目的 `application.yml` 或者 `application.properties` 文件里添加 PageHelper 的基本配置项[^1]。
对于 YAML 格式的配置如下所示:
```yaml
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=UTC
username: root
password: your_password
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
```
#### 编写服务层逻辑
定义 `UserServiceImpl.java` 类来处理业务逻辑。这里展示了一个简单的分页方法实现例子:
```java
@Service
public class UserServiceImpl implements IUserService {
@Autowired
private UserMapper userMapper;
@Override
public PageBean<User> pageQuery(int pageNum, int pageSize) {
// 开始分页
PageHelper.startPage(pageNum, pageSize);
// 执行查询语句并获取结果集
List<User> list = userMapper.selectList(null);
// 创建返回对象并将数据封装进去
PageInfo<User> pageInfo = new PageInfo<>(list);
PageBean<User> result = new PageBean<>();
result.setRows(list);
result.setTotal((int) pageInfo.getTotal());
return result;
}
}
```
注意这里的 `selectList()` 方法来自 MyBatis Plus 提供的基础 Mapper 接口中的默认实现,无需额外编写 SQL 映射语句即可完成 CRUD 操作[^2]。
#### 定义实体类与映射接口
确保存在相应的实体类(如 `User.java`),以及对应的 Mapper 接口(如 `UserMapper.java`)。如果采用 XML 方式,则还需要创建对应的 Mapper XML 文件用于描述具体的数据库操作命令;但如果利用了 MyBatis Plus 自带的功能,则可以省去这部分工作量。
阅读全文
相关推荐


















