目录
Spring Boot 与 MyBatis 的整合是 Java 开发中常见的需求,特别是在使用分页插件如 PageHelper 时。PageHelper 是一个针对 MyBatis 设计的分页插件,可以方便地进行分页查询。下面我将详细说明如何在 Spring Boot 项目中整合 MyBatis 和 PageHelper。
首先,需要在你的 pom.xml
文件中添加 Spring Boot、MyBatis 和 PageHelper 的依赖。假设你已经有了 Spring Boot 的基础依赖,下面是你需要添加的额外依赖:
- <dependency>
- <groupId>org.mybatis.spring.bootgroupId>
- <artifactId>mybatis-spring-boot-starterartifactId>
- <version>2.1.4version>
- dependency>
-
- <dependency>
- <groupId>mysqlgroupId>
- <artifactId>mysql-connector-javaartifactId>
- <scope>runtimescope>
- dependency>
-
- <dependency>
- <groupId>com.github.pagehelpergroupId>
- <artifactId>pagehelper-spring-boot-starterartifactId>
- <version>1.3.0version>
- dependency>
在 application.properties
或 application.yml
中配置你的数据库连接和 MyBatis 的相关设置。这里是一个示例配置:
- # 数据库连接配置
- spring.datasource.url=jdbc:mysql://localhost:3306/your_database?serverTimezone=UTC
- spring.datasource.username=root
- spring.datasource.password=your_password
- spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
-
- # MyBatis 配置
- mybatis.type-aliases-package=com.example.demo.model
- mybatis.mapper-locations=classpath:mapper/*.xml
通常,如果使用 pagehelper-spring-boot-starter
,你不需要额外配置即可使用 PageHelper,因为这个 Starter 自动配置了 PageHelper。但如果需要自定义参数,可以在 application.properties
中进行配置:
- # PageHelper 分页插件的配置
- pagehelper.helper-dialect=mysql
- pagehelper.reasonable=true
- pagehelper.support-methods-arguments=true
- pagehelper.params=count=countSql
在你的 Mapper 接口或者服务中使用 PageHelper 来进行分页。这里是一个基本的使用示例
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.List;
-
- @Service
- public class UserService {
-
- @Autowired
- private UserMapper userMapper;
-
- public PageInfo
findUserByPage(int page, int pageSize) { - // 开启分页
- PageHelper.startPage(page, pageSize);
- // 查询数据
- List
users = userMapper.selectAllUsers(); - // 使用PageInfo包装查询结果
- return new PageInfo<>(users);
- }
- }
这个服务方法findUserByPage
首先通过调用 PageHelper.startPage()
方法启动分页,然后执行查询。PageInfo
对象用于获取分页信息如总页数、总记录数等。
在VM options 中:
-DServer.port=8080
整合 PageHelper 到 Spring Boot 项目中主要包括添加依赖、配置数据源与 MyBatis、配置 PageHelper 以及在业务逻辑中使用 PageHelper 进行分页查询。这样,你可以在 Spring Boot 应用中方便地进行数据库分页操作,提高应用的性能和用户体验。