首页 技术 正文
技术 2022年11月20日
0 收藏 362 点赞 3,028 浏览 3127 个字

1.导入PageHelper依赖

<!-- MyBatis 分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.0.0</version>
</dependency>

2.配置PageHelper插件

注意:om.github.pagehelper.PageHelper这个接口,自4.0.0版本以后就不再使用了,转而实现这个接口:org.apache.ibatis.plugin.Interceptor。由于我使用的是4.0.0版本,所以还是用的PageHelper。

方式一:在mybatis的主配置文件中配置PageHelper插件

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>
<plugins>
<plugin interceptor="com.github.pagehelper.PageHelper">
<property name="dialect" value="mysql"/>
<property name="offsetAsPageNum" value="true"/>
<property name="rowBoundsWithCount" value="true"/>
<property name="pageSizeZero" value="true"/>
<property name="reasonable" value="true"/>
<property name="params" value="pageNum=start;pageSize=limit;"/>
<property name="supportMethodsArguments" value="true"/>
<property name="returnPageInfo" value="check"/>
</plugin>
</plugins>
</configuration>

属性说明:

  dialect(常用):指定当前使用的数据库 。pagehelper版本4.0.0以后可以不设置此属性。

  offsetAsPageNum:设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用,默认为false。

  rowBoundsWithCount:设置为true时,使用RowBounds分页会进行count查询,默认为false。

  pageSizeZero:设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果(相当于没有执行分页查询,但是返回结果仍然是Page类型)。

  reasonable(常用):分页参数合理化,设置为true时,如果pageNum<1会查询第一页,如果pageNum>最大页数时会查询最后一页;禁用合理化时,如果pageNum<1或pageNum>最大页数时会返回空数据。默认为false禁用(3.3.0之后版本可用)。

  params:增加了一个`params`参数来配置参数映射,用于从Map或ServletRequest中取值。可以配置pageNum,pageSize,count,pageSizeZero,reasonable,orderBy,不配置映射的用默认值。不理解该含义的前提下,不要随便复制该配置 (3.5.0版本可用,为了支持startPage(Object params)方法)      

  supportMethodsArguments:支持通过Mapper接口参数来传递分页参数。

  returnPageInfo:always总是返回PageInfo类型,check检查返回类型是否为PageInfo,none返回Page。

记得在spring的配置文件的sqlSessionFactory中指定mybatis全局配置文件位置。

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!--指定mybatis全局配置文件位置-->
<property name="configLocation" value="classpath:mybatis-config.xml"/>
<!--指定mapper.xml配置文件路径-->
<property name="mapperLocations" value="classpath:mybatis/mapper/*Mapper.xml"/>
<!--装配数据源-->
<property name="dataSource" ref="dataSource"/>
</bean>

方式二:直接在spring主配置文件中配置PageHelper插件(没有mybatis的主配置文件使用此方式)

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!--指定mybatis全局配置文件位置-->
<property name="configLocation" value="classpath:mybatis-config.xml"/>
<!--指定mapper.xml配置文件路径-->
<property name="mapperLocations" value="classpath:mybatis/mapper/*Mapper.xml"/>
<!--装配数据源-->
<property name="dataSource" ref="dataSource"/>
<!--配置插件-->
<property name="plugins">
<array>
<!--配置PageHelper插件-->
<bean class="com.github.pagehelper.PageHelper">
<property name="properties">
<props>
<!--配置数据库方言,告诉 PageHelper当前使用的数据库-->
<prop key="dialect">mysql</prop>
<!--配置页码的合理化修正,在1~总页数之间修正页码-->
<!--合理化修正-->
<prop key="reasonable">true</prop>
</props>
</property>
</bean>
</array>
</property>
</bean>

3.使用

在执行查询之前调用PageHelper的静态方法:PageHelper.startPage(pageNum,pageSize)即可,pagehelper自动对PageHelper.startPage 方法下的第一个sql 查询进行分页。

此方法两个参数:

pageNum:当前页码

pageSize:每页显示的条数

代码举例:

    @Test
public void test2(){
PageHelper.startPage(2,10);
List<Admin> list = adminMapper.selectAdminByKeyword("");
for (Admin admin : list) {
System.out.println(admin);
}
}

输出:

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,077
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,552
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,401
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,176
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,813
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,896