【mybatis】第一篇,Springboot中使用插件PageHelper不生效解决方案

简介: 【mybatis】第一篇,Springboot中使用插件PageHelper不生效解决方案

背景

我们在使用mybatis做分页的时候,要么直接sql语句写limit进行分页,这样做是可以的,但是会比较麻烦,需要计算分页数据。现今有很多插件可以帮助我们对数据进行分页,今天介绍下插件PageHelper分页。


第一种配置

依赖:

<!-- Pagehelper分页插件-->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.4.5</version>
</dependency>

代码:

在application.yml 中配置

#mybatis 分页插件
pagehelper:
  helperDialect: mysql
  reasonable: true
  supportMethodsArguments: true
  params: count=countSql

PageHelper.startPage(page,size)方法一般要放在方法中的首行

PageHelper 只对其后的第一个查询有效

public PageInfo<User> findUserList(Integer page, Integer size) {
    // PageHelper 只对其后面的第一个查询有效
    PageHelper.startPage(page,size);
    // 执行分页查询
    List<User> list1=userMapper.selectUserList();
    // 返回结果
    PageInfo<User> pageInfo=new PageInfo<User>(list1);
    return pageInfo;
}

对应的userMapper.selectUserList() sql语句:

select * from user

第二种配置

<!-- mybatis分页-->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.1.4</version>
</dependency>
<!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->
<bean id="sqlSessionFactory"
      class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <!-- 自动扫描mapping.xml文件 -->
    <property name="mapperLocations" value="classpath:mapper/*.xml"></property>
    <property name="typeAliasesPackage" value="com.xxx.xxx.common.model"></property>
    <property name="plugins">
        <array>
            <bean class="com.github.pagehelper.PageInterceptor">
                <!-- 这里的几个配置主要演示如何使用,如果不理解,一定要去掉下面的配置 -->
                <property name="properties">
                    <value>
                        helperDialect=oracle
                        reasonable=true
                        supportMethodsArguments=true
                        params=count=countSql
                        autoRuntimeDialect=true
                    </value>
                </property>
            </bean>
        </array>
    </property>
    <!-- 配置mybatis配置文件的位置 -->
    <!--<property name="configLocation" value="classpath:mybatis-config.xml"/>-->
</bean>
相关文章
|
13天前
|
SQL Java 数据库连接
SpringBoot整合Mybatis
SpringBoot整合Mybatis
34 2
|
11天前
|
算法 Java 数据库连接
Spring+MySQL+数据结构+集合,Alibaba珍藏版mybatis手写文档
Spring+MySQL+数据结构+集合,Alibaba珍藏版mybatis手写文档
|
12天前
|
Java Maven
SpringBoot项目的用maven插件打包报Test错误
SpringBoot项目的用maven插件打包报Test错误
|
13天前
|
Java 数据库连接 Spring
Spring 整合mybatis
Spring 整合mybatis
22 2
|
4天前
|
Java 关系型数据库 数据库连接
MyBatis-Plus介绍及Spring Boot 3集成指南
MyBatis-Plus是一个MyBatis扩展工具,旨在简化Java开发中的CRUD操作。它具有无侵入性、低损耗、强大的CRUD功能、Lambda表达式支持、主键自动生成、ActiveRecord模式、全局操作和内置代码生成器等特点。在Spring Boot 3中集成MyBatis-Plus,需在pom.xml添加依赖,排除特定版本的mybatis-spring,并用@MapperScan注解指定Mapper接口路径。此外,还介绍了如何使用MyBatis-Plus代码生成器自动生成Mapper、Model、Service和Controller层代码,以加速开发。
38 2
MyBatis-Plus介绍及Spring Boot 3集成指南
|
4天前
|
SQL Java 关系型数据库
基于SpringBoot使用MyBatisPlus,MyBatisPlus标准数据层开发(CRUD)、MyBatisPlus分页功能的使用
基于SpringBoot使用MyBatisPlus,MyBatisPlus标准数据层开发(CRUD)、MyBatisPlus分页功能的使用
13 2
|
4天前
|
Java 关系型数据库 MySQL
SpringBoot整合JUnit、MyBatis、SSM
SpringBoot整合JUnit、MyBatis、SSM
14 4
|
4天前
|
Java 数据库连接 数据库
Spring整合Mybatis、Spring整合JUnit
Spring整合Mybatis、Spring整合JUnit
14 1
Spring整合Mybatis、Spring整合JUnit
|
5天前
|
Java 数据库连接 数据库
小唐开始学 Spring Boot——(3)利用mybatis访问数据表
小唐开始学 Spring Boot——(3)利用mybatis访问数据表
|
13天前
|
JSON Java 数据格式
nbcio-boot升级springboot、mybatis-plus和JSQLParser后的LocalDateTime日期json问题
nbcio-boot升级springboot、mybatis-plus和JSQLParser后的LocalDateTime日期json问题
14 0