mybatis分页插件的使用

引入依赖

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

 

mybatis-config.xml添加插件配置

<?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文件,此后就可以在当前文件中使用${key}的方式访问value-->
    <properties resource="jdbc.properties"></properties>

    <settings>
        <!--标准的日志-->
        <setting name="logImpl" value="STDOUT_LOGGING"/>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
    <!--
    typeAliases:设置类型别名,即为某个具体的类型设置一个别名,
    在mybatis的范围中,就可以使用别名表示一个具体的类型。
    -->
    <typeAliases>
        <!--不使用alias属性设置别名,默认为类名,不区分大小写。User或user-->
        <!-- <typeAlias type="org.example.entity.User" alias="user"></typeAlias>-->

        <!--通过包设置类型别名,指定包下所有的类型将全部拥有默认的别名,即类名,不区分大小写-->
        <package name="com.xxx.dynamicSQL.entity"/>
    </typeAliases>

    <plugins>
        <!--设置分页插件-->
        <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
    </plugins>
        
    <!-- environments数据库环境配置 -->
    <!-- 和Spring整合后environments配置将被废除 -->
    <environments default="development">
        <environment id="development">
            <!-- 使用JDBC事务管理 -->
            <transactionManager type="JDBC"/>
            <!-- 数据库连接池 -->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driverClassName}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>

    <!-- 加载映射文件 -->
    <mappers>
        <!--<mapper resource="mappers/EmpMapper.xml"></mapper>-->

        <!--
            以包的方式引入映射文件,但是必须满足下面2个条件:
            1.mapper接口和映射文件所在的包必须一致
            2.mapper接口的名字和映射文件的名字一致
        -->
        <package name="com.xxx.dynamicSQL.mapper"/>
    </mappers>
</configuration>

 

测试代码:

    @Test
    public void testPage(){
        SqlSession sqlSession = SqlSessionUtil.getSqlSession();
        EmpMapper mapper = sqlSession.getMapper(EmpMapper.class);
        //查询功能之前开启分页功能
        Page<Object> page = PageHelper.startPage(2, 5);
        List<Emp> list = mapper.getAllEmp();
        //在查询功能之后可以获取分页相关的所有数据
        PageInfo<Emp> pageInfo = new PageInfo<>(list,3);//3:导航分页的页码数
        System.out.println("page对象:"+page);
        System.out.println("pageInfo对象:"+pageInfo);
        System.out.println(list);

    }

结果

page对象:Page{count=true, pageNum=2, pageSize=5, startRow=5, endRow=10, total=16, pages=4, reasonable=false, pageSizeZero=false}[Emp{empId=9, empName='小明2', age=11, gender='男'}, Emp{empId=10, empName='小明3', age=11, gender='男'}, Emp{empId=11, empName='小明4', age=11, gender='男'}, Emp{empId=12, empName='小明5', age=11, gender='男'}, Emp{empId=13, empName='小明6', age=11, gender='男'}]
pageInfo对象:PageInfo{pageNum=2, pageSize=5, size=5, startRow=6, endRow=10, total=16, pages=4, list=Page{count=true, pageNum=2, pageSize=5, startRow=5, endRow=10, total=16, pages=4, reasonable=false, pageSizeZero=false}[Emp{empId=9, empName='小明2', age=11, gender='男'}, Emp{empId=10, empName='小明3', age=11, gender='男'}, Emp{empId=11, empName='小明4', age=11, gender='男'}, Emp{empId=12, empName='小明5', age=11, gender='男'}, Emp{empId=13, empName='小明6', age=11, gender='男'}], prePage=1, nextPage=3, isFirstPage=false, isLastPage=false, hasPreviousPage=true, hasNextPage=true, navigatePages=8, navigateFirstPage=1, navigateLastPage=4, navigatepageNums=[1, 2, 3, 4]}
Page{count=true, pageNum=2, pageSize=5, startRow=5, endRow=10, total=16, pages=4, reasonable=false, pageSizeZero=false}[Emp{empId=9, empName='小明2', age=11, gender='男'}, Emp{empId=10, empName='小明3', age=11, gender='男'}, Emp{empId=11, empName='小明4', age=11, gender='男'}, Emp{empId=12, empName='小明5', age=11, gender='男'}, Emp{empId=13, empName='小明6', age=11, gender='男'}]

 

posted @ 2023-03-05 12:30  Mr_sven  阅读(221)  评论(0编辑  收藏  举报