MyBatis 分页插件pagehelper的快速入门

时间:2022-09-25 00:45:25

导入分页依赖

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.2.0</version>
</dependency>

配置分页插件

<?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>

    <!-- 引入properties文件 -->
    <properties resource="jdbc.properties"/>

    <settings>
        <!-- 设置驼峰 -->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

    <typeAliases>
        <!-- 全部有默认类名 -->
        <package name="com.xy.mybatis.com.xy.mybatis.cache.pojo"/>
    </typeAliases>

    <plugins>
        <!-- 配置分页插件 -->
        <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
    </plugins>

    <!-- 配置环境 default 默认环境  -->
    <environments default="development">
        <!-- 开发环境 -->
        <environment >
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>

        <!-- 测试环境 -->
        <environment >
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <package name="com.xy.mybatis.cache.mapper" />
    </mappers>
</configuration>

测试使用

@Test
public void test01() {
   EmpMapper mapper = SqlSessionUtil.getSqlSession().getMapper(EmpMapper.class);
   // 开启分页,第2页,每页显示2条数据
   Page<Emp> page = PageHelper.startPage(2, 2);
   List<Emp> emps = mapper.getAllEmp();
   // 封装分页详细信息,显示分页栏(eg. 4 5 6 7 8)即其他信息
   PageInfo<Emp> empPageInfo = new PageInfo<>(page, 5);
   emps.forEach(System.out::println);
   System.out.println();
   System.out.println("page = " + page + "\n");
   System.out.println("empPageInfo = " + empPageInfo);
}

测试结果 MyBatis 分页插件pagehelper的快速入门