詳解 Spring Boot 2.7.18 與 MyBatis PageHelper 的整合步驟
一、添加依賴
在 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>
二、配置數(shù)據(jù)源
在 application.properties 或 application.yml 中配置數(shù)據(jù)源信息,例如:
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
四、創(chuàng)建 Mapper 接口和 XML 文件
創(chuàng)建 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(); } 創(chuàng)建對(duì)應(yīng)的 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 進(jìn)行分頁
在 Service 層使用 PageHelper 進(jìn)行分頁操作,例如 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(); // 將結(jié)果封裝為 PageInfo 對(duì)象 return new PageInfo<>(userList); } }
六、創(chuàng)建 Controller 層
在 Controller 層調(diào)用 Service 層進(jìn)行分頁查詢,例如 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 開發(fā)依賴。 mybatis-spring-boot-starter 是 MyBatis 集成 Spring Boot 的依賴。 mysql-connector-java 是 MySQL 的數(shù)據(jù)庫驅(qū)動(dòng)。 pagehelper-spring-boot-starter 是 PageHelper 集成 Spring Boot 的依賴。 spring-boot-starter-test 是用于測(cè)試的依賴。 配置數(shù)據(jù)源: 配置數(shù)據(jù)庫的連接信息,包括 url、username、password 和 driver-class-name。 配置 MyBatis 和 PageHelper: mybatis.mapper-locations 配置 Mapper XML 文件的位置。 mybatis.type-aliases-package 配置實(shí)體類的包名。 pagehelper.helperDialect 配置數(shù)據(jù)庫方言,這里使用的是 MySQL。 pagehelper.reasonable 開啟合理化分頁,當(dāng) pageNum 小于 1 時(shí),自動(dòng)查詢第一頁,當(dāng) pageNum 大于總頁數(shù)時(shí),自動(dòng)查詢最后一頁。 pagehelper.supportMethodsArguments 支持通過方法參數(shù)進(jìn)行分頁。 pagehelper.params 配置參數(shù)名稱,用于傳遞分頁參數(shù)。 Mapper 接口和 XML 文件: UserMapper 接口使用 @Mapper 注解將其注冊(cè)為 MyBatis 的 Mapper。 @Select 注解用于直接在接口中寫 SQL 語句。 UserMapper.xml 是對(duì)應(yīng)的 SQL 映射文件,可添加更多復(fù)雜的 SQL 操作。 使用 PageHelper 進(jìn)行分頁: 在 UserService 中使用 PageHelper.startPage(pageNum, pageSize) 開啟分頁。 調(diào)用 userMapper.findAll() 獲取分頁數(shù)據(jù)。 使用 PageInfo 封裝分頁結(jié)果,包含分頁信息和數(shù)據(jù)列表。 Controller 層: 在 UserController 中接收 pageNum 和 pageSize 參數(shù),調(diào)用 UserService 進(jìn)行分頁查詢,并將結(jié)果返回。這樣,你就完成了在 Spring Boot 2.7.18 中集成 MyBatis PageHelper 的操作,可以實(shí)現(xiàn)分頁查詢功能。
注意事項(xiàng):
確保 mapper/*.xml 路徑和 com.example.demo.entity 包名根據(jù)實(shí)際情況修改。 不同的數(shù)據(jù)庫方言可能需要修改 pagehelper.helperDialect 的配置。相關(guān)知識(shí)
spring boot 應(yīng)用在 k8s 中的健康檢查(一)
Java技能提升:破解“技能冷卻”,高效學(xué)習(xí)攻略揭秘
一葉孤舟/醫(yī)療云平臺(tái)
健康檢查 檢測(cè)java假死
課程設(shè)計(jì)
如何為SpringBoot應(yīng)用設(shè)置健康檢查
整形手術(shù)詳解,醫(yī)美手術(shù)的每個(gè)步驟詳細(xì)介紹
運(yùn)動(dòng)健康數(shù)據(jù)可視化:基于 Echarts 和 Java SpringBoot 的動(dòng)態(tài)實(shí)時(shí)大屏范例
寶寶洗澡詳細(xì)步驟|圖解+步驟??
如何打造完美身材:詳細(xì)步驟與技巧解析
網(wǎng)址: 詳解 Spring Boot 2.7.18 與 MyBatis PageHelper 的整合步驟 http://m.u1s5d6.cn/newsview870857.html
推薦資訊
- 1發(fā)朋友圈對(duì)老公徹底失望的心情 12775
- 2BMI體重指數(shù)計(jì)算公式是什么 11235
- 3補(bǔ)腎吃什么 補(bǔ)腎最佳食物推薦 11199
- 4性生活姿勢(shì)有哪些 盤點(diǎn)夫妻性 10428
- 5BMI正常值范圍一般是多少? 10137
- 6在線基礎(chǔ)代謝率(BMR)計(jì)算 9652
- 7一邊做飯一邊躁狂怎么辦 9138
- 8從出汗看健康 出汗透露你的健 9063
- 9早上怎么喝水最健康? 8613
- 10五大原因危害女性健康 如何保 7828