ToB企服应用市场:ToB评测及商务社交产业平台

标题: springboot~mybatis-pagehelper原理与使用 [打印本页]

作者: 圆咕噜咕噜    时间: 2024-7-19 09:55
标题: springboot~mybatis-pagehelper原理与使用
原理

PageHelper是一个用于MyBatis的分页插件,pagehelper-spring-boot-starter是其在Spring Boot中的集成组件。下面简要介绍PageHelper的分页原理:
PageHelper的分页原理

PageHelper-Spring-Boot-Starter的集成原理

总的来说,PageHelper通过拦截器机制、ThreadLocal存储分页参数以及自动构建分页SQL来实现对MyBatis的分页支持,而pagehelper-spring-boot-starter则在Spring Boot中简化了PageHelper的集成和设置过程。
实战

下面是一个简单的示例,演示如何在Spring Boot项目中使用pagehelper-spring-boot-starter来实现分页查询:
1. 添加依靠

首先,在pom.xml文件中添加pagehelper-spring-boot-starter的依靠:
  1. <dependency>
  2.     <groupId>com.github.pagehelper</groupId>
  3.     <artifactId>pagehelper-spring-boot-starter</artifactId>
  4.     <version>{version}</version>
  5. </dependency>
复制代码
2. 设置属性

在application.properties或application.yml中设置pagehelper相关属性,例如:
  1. # PageHelper配置
  2. pagehelper.helperDialect=mysql
  3. pagehelper.reasonable=true
  4. pagehelper.supportMethodsArguments=true
  5. pagehelper.params=count=countSql
复制代码
3. 编写Mapper接口和XML文件

编写MyBatis的Mapper接口和对应的XML文件,定义分页查询的方法。
4. 在Service中调用分页查询

在Service类中调用分页查询方法,示例代码如下:
  1. @Service
  2. public class UserService {
  3.     @Autowired
  4.     private UserMapper userMapper;
  5.     public PageInfo<User> findUsers(int pageNum, int pageSize) {
  6.         PageHelper.startPage(pageNum, pageSize);
  7.         List<User> userList = userMapper.selectUsers();
  8.         return new PageInfo<>(userList);
  9.     }
  10. }
复制代码
5. Controller层调用Service进行分页查询

在Controller层调用Service中的方法进行分页查询,并返回分页结果给前端。示例代码如下:
  1. @RestController
  2. public class UserController {
  3.     @Autowired
  4.     private UserService userService;
  5.     @GetMapping("/users")
  6.     public PageInfo<User> getUsers(@RequestParam("pageNum") int pageNum, @RequestParam("pageSize") int pageSize) {
  7.         return userService.findUsers(pageNum, pageSize);
  8.     }
  9. }
复制代码
通过以上步骤,你就可以在Spring Boot项目中使用pagehelper-spring-boot-starter来实现分页查询功能。记得根据具体的业务需求和数据库范例设置相应的pagehelper属性。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4