springBoot2.x整合pagehelper5.1.2

1.引入依赖
<!-- mybatis的分页插件 -->
		<!--pageHelper基本依赖 -->
		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper</artifactId>
			<version>5.1.2</version>
		</dependency>
		<!-- 在我的实验中不加这两个依赖分页不会成功 -->
		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper-spring-boot-autoconfigure</artifactId>
			<version>1.2.5</version>
		</dependency>
		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper-spring-boot-starter</artifactId>
			<version>1.2.5</version>
		</dependency>
2.写入配置
2.1 application.properties 添加配置
##pageHelper分页插件
pagehelper.helper-dialect=MYSQL
pagehelper.reasonable=true
pagehelper.support-methods-arguments=true
pagehelper.params=count=countSql
2.2 application.yml 添加配置
# ----  这个没有测试过	----

#mybatis分页插件
pagehelper:
    helperDialect: mysql
    reasonable: true
    supportMethodsArguments: true
    params: count=countSql
2.3 配置类添加配置
import com.github.pagehelper.PageHelper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.Properties;

/**
 * Created by carlson chis on 2019/1/2 0002.
 * Describe:pageHelper分页配置类
 */
@Configuration
public class PageHelperConfig {


    @Bean
    public PageHelper getPageHelper(){
        PageHelper pageHelper=new PageHelper();
        Properties properties=new Properties();
        properties.setProperty("helperDialect","mysql");
        properties.setProperty("reasonable","true");
        properties.setProperty("supportMethodsArguments","true");
        properties.setProperty("params","count=countSql");
        pageHelper.setProperties(properties);
        return pageHelper;
    }

}
3.数据分页
service层
  /**
     *  学员列表分页
     * @param pageNum
     * @param pageSize
     * @return
     */
    @Override
    public PageInfo<Student> findByPage(int pageNum, int pageSize) {
        //设置分页信息,该设置需在读取mapper中的方法前执行
        PageHelper.startPage(pageNum, pageSize);

        //获取所有学员结果集
        List<Student> list = studentMapper.findAll();

        PageInfo<Student> pageInfo = new PageInfo<>(list);

        return pageInfo;
    }
controller层
 /**
     * 分页查询所有学员
     * @param pageNum
     * @param pageSize
     * @return
     */
//    @GetMapping("findByPage")
    @RequestMapping(value = "findByPage")
    public PageInfo<Student> findByPage(int pageNum, int pageSize){
        return studentService.findByPage(pageNum,pageSize);
    }
4.测试

在这里插入图片描述

总结

整合过程中遇到的主要问题就是配置信息到导入,因为这是第一次用springBoot写项目,比较水,,,然后是在一切都做完之后没有成功显示分页,这个原因就是后两个依赖没有注入,这个问题NND卡了好久,,,因为第一次接触,可能比较片面,仅供读者参考,,,

在不同场景下导入 `com.github.pagehelper.PageHelper` 有不同的依赖配置和使用方法: ### 依赖配置 #### SSM 项目 在 SSM 项目中,需要在 `pom.xml` 导入依赖,示例如下: ```xml <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.2</version> </dependency> ``` 同时,要将其交给 IOC 管理,在 `SqlSessionFactory` 传入插入对象,示例配置如下: ```xml <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 这里配其他配置 --> <!-- 传入PageHelper的插件 --> <property name="plugins"> <array> <!-- 插入插件的对象 --> <bean class="com.github.pagehelper.PageInterceptor"> <property name="properties"> <props> <prop key="helperDialect">oracle</prop> <prop key="reasonable">true</prop> </props> </property> </bean> </array> </property> </bean> ``` #### Spring Boot 项目 在 Spring Boot 项目中,需要添加以下依赖: ```xml <!-- 核心包(启动器已间接依赖,但显式声明更稳妥) --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.3.3</version> </dependency> <!-- pagehelper 分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.4.7</version> </dependency> ``` ### 使用方法 `PageHelper` 在 MyBatis 中是通过 MyBatis 的 `plugin` 实现了 `Interceptor` 接口,从而获得要执行的 SQL 语句实现分页技术。PageHelper 5.0 版本中,`PageHelper` 继承了 `PageMethod` 并实现了 `Dialect`,`PageInterceptor` 实现了 `Interceptor` 接口 [^3]。 一般在业务代码中使用 `PageHelper` 进行分页的示例如下: ```java import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import java.util.List; // 假设这是你的业务方法 public PageInfo<YourEntity> getPageData(int pageNum, int pageSize) { // 开启分页 PageHelper.startPage(pageNum, pageSize); // 执行查询操作,这里假设调用了一个 DAO 层的查询方法 List<YourEntity> list = yourDao.selectAll(); // 将查询结果封装到 PageInfo 中 return new PageInfo<>(list); } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值