一、添加依赖
在 pom.xml 文件中添加必要的依赖:
<dependencies> <!-- Spring Boot Starter Web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- MyBatis Starter --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.2</version> </dependency> <!-- MySQL Connector --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <!-- PageHelper Starter --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.4.2</version> </dependency> <!-- Spring Boot Test Starter --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>
二、配置数据源
在 application.properties 或 application.yml 中配置数据源信息,例如:
spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=your_password spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
三、配置 MyBatis 和 PageHelper
可以在 application.properties 或 application.yml 中添加 MyBatis 和 PageHelper 的配置:
# MyBatis 配置 mybatis.mapper-locations=classpath:mapper/*.xml mybatis.type-aliases-package=com.example.demo.entity # PageHelper 配置 pagehelper.helperDialect=mysql pagehelper.reasonable=true pagehelper.supportMethodsArguments=true pagehelper.params=count=countSql
四、创建 Mapper 接口和 XML 文件
创建 Mapper 接口,例如 UserMapper.java:package com.example.demo.mapper; import com.example.demo.entity.User; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; import java.util.List; @Mapper public interface UserMapper { @Select("SELECT * FROM user") List<User> findAll(); } 创建对应的 XML 文件,例如 UserMapper.xml:
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//DO" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.demo.mapper.UserMapper"> <!-- 这里可以添加更多的 SQL 映射 --> </mapper>
五、使用 PageHelper 进行分页
在 Service 层使用 PageHelper 进行分页操作,例如 UserService.java:
package com.example.demo.service; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.example.demo.entity.User; import com.example.demo.mapper.UserMapper; 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<User> findAllUsers(int pageNum, int pageSize) { // 开启分页,传入页码和每页大小 PageHelper.startPage(pageNum, pageSize); List<User> userList = userMapper.findAll(); // 将结果封装为 PageInfo 对象 return new PageInfo<>(userList); } }
六、创建 Controller 层
在 Controller 层调用 Service 层进行分页查询,例如 UserController.java:
package com.example.demo.controller; import com.example.demo.entity.User; import com.example.demo.service.UserService; import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController public class UserController { @Autowired private UserService userService; @GetMapping("/users") public PageInfo<User> getUsers( @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) { return userService.findAllUsers(pageNum, pageSize); } }
代码解释:
添加依赖: spring-boot-starter-web 是 Spring Boot 的 Web 开发依赖。 mybatis-spring-boot-starter 是 MyBatis 集成 Spring Boot 的依赖。 mysql-connector-java 是 MySQL 的数据库驱动。 pagehelper-spring-boot-starter 是 PageHelper 集成 Spring Boot 的依赖。 spring-boot-starter-test 是用于测试的依赖。 配置数据源: 配置数据库的连接信息,包括 url、username、password 和 driver-class-name。 配置 MyBatis 和 PageHelper: mybatis.mapper-locations 配置 Mapper XML 文件的位置。 mybatis.type-aliases-package 配置实体类的包名。 pagehelper.helperDialect 配置数据库方言,这里使用的是 MySQL。 pagehelper.reasonable 开启合理化分页,当 pageNum 小于 1 时,自动查询第一页,当 pageNum 大于总页数时,自动查询最后一页。 pagehelper.supportMethodsArguments 支持通过方法参数进行分页。 pagehelper.params 配置参数名称,用于传递分页参数。 Mapper 接口和 XML 文件: UserMapper 接口使用 @Mapper 注解将其注册为 MyBatis 的 Mapper。 @Select 注解用于直接在接口中写 SQL 语句。 UserMapper.xml 是对应的 SQL 映射文件,可添加更多复杂的 SQL 操作。 使用 PageHelper 进行分页: 在 UserService 中使用 PageHelper.startPage(pageNum, pageSize) 开启分页。 调用 userMapper.findAll() 获取分页数据。 使用 PageInfo 封装分页结果,包含分页信息和数据列表。 Controller 层: 在 UserController 中接收 pageNum 和 pageSize 参数,调用 UserService 进行分页查询,并将结果返回。这样,你就完成了在 Spring Boot 2.7.18 中集成 MyBatis PageHelper 的操作,可以实现分页查询功能。
注意事项:
确保 mapper/*.xml 路径和 com.example.demo.entity 包名根据实际情况修改。 不同的数据库方言可能需要修改 pagehelper.helperDialect 的配置。相关知识
spring boot 应用在 k8s 中的健康检查(一)
Java技能提升:破解“技能冷却”,高效学习攻略揭秘
一叶孤舟/医疗云平台
健康检查 检测java假死
课程设计
如何为SpringBoot应用设置健康检查
整形手术详解,医美手术的每个步骤详细介绍
运动健康数据可视化:基于 Echarts 和 Java SpringBoot 的动态实时大屏范例
宝宝洗澡详细步骤|图解+步骤‼️
如何打造完美身材:详细步骤与技巧解析
网址: 详解 Spring Boot 2.7.18 与 MyBatis PageHelper 的整合步骤 https://m.trfsz.com/newsview870857.html