Mybatis分页插件PageHelper使用

目录

        • SSM项目中使用
        • SpringBoot项目中使用

SSM项目中使用

  1. 导入依赖

<dependency>
   <groupId>com.github.pagehelpergroupId>
   <artifactId>pagehelperartifactId>
   <version>4.1.6version>
dependency>
  1. 配置分页插件

配置分页插件有两种方式:

1). 在 mybatis-config.xml 中使用

<plugins>
  
  <plugin interceptor="com.github.pagehelper.PageHelper">
    
    <property name="dialect" value="mysql"/>
  plugin>
plugins>

在 spring-dao.xml 中读取 mybatis-config.xml 配置文件


<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    
    <property name="dataSource" ref="dataSource"/>
    
    <property name="configLocation" value="classpath:/mybatis/mybatis-config.xml"/>
    
    <property name="mapperLocations" value="classpath:mapper/*Mapper.xml"/>
    
    <property name="typeAliasesPackage" value="com.learn.pojo"/>
bean>

2). 在 spring-dao.xml 中使用


<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    
    <property name="dataSource" ref="dataSource"/>
    
    <property name="configLocation" value="classpath:/mybatis/mybatis-config.xml"/>
    
    <property name="mapperLocations" value="classpath:mapper/*Mapper.xml"/>
    
    <property name="typeAliasesPackage" value="com.learn.pojo"/>
    
    <property name="plugins">
    	<array>
        	<bean class="com.github.pagehelper.PageHelper">
           		<property name="properties">
           			
        				<value>
            				dialect=mysql
            			value>
       			property>
    		bean>
   		 array>
    property>
bean>

注:如果导入的依赖版本为 5.0 以上,插件须改成 com.github.pagehelper.PageInterceptor

  1. 使用 PageHelper
PageHelper.startPage(pageNum, pageSize);
// 查询
List<Shop> shopList = shopMapper.queryShopList(shopCondition);
PageInfo<Shop> pageInfo = new PageInfo<>(shopList);

分页信息都已保存在 pageInfo 对象中,可以按自己的需求从pageInfo中取出对应的信息返回给前台

SpringBoot项目中使用

  1. 导入依赖

<dependency>
    <groupId>com.github.pagehelpergroupId>
    <artifactId>pagehelper-spring-boot-starterartifactId>
    <version>1.2.7version>
dependency>
  1. 在 application.yml 配置 pagehelper
# 分页插件
pagehelper:
    helper-dialect: mysql
  1. 使用 PageHelper
Page page = PageHelper.startPage(pageNum, pageSize, true);
// 查询
List<Role> roles = this.roleMapper.listAll(role);
PageInfo<Role> pageInfo = new PageInfo<>(roles);

注:PageInfo pageInfo = new PageInfo<>(roles) 这行代码可以省略,分页的基本信息都已保存在 page 对象中,可以自己自定义一个VO,通过page.get…()方法取出,然后把自定义VO返回。
Mybatis分页插件PageHelper使用_第1张图片
Mybatis分页插件PageHelper使用_第2张图片

你可能感兴趣的:(Mybatis)