在用mybatis实现查询的基础上,实现分页

第一步:引入依赖

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

第二步:在mybatis的配置文件中添加插件

<?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 resource="JDBC.properties">

    </properties>
    <settings>
        <setting name="logImpl" value="LOG4J"/>
    </settings>
    <typeAliases>
        <package name="com.zhao.pojo"/><!--包下的所有类自动起别名类名-->
    </typeAliases>
    **<!--分页插件-->
    <plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor">		</plugin>
    </plugins>**
    
    <!--配置    mybatis 环境-->
    <environments default="development">
        <!--id:自定义的数据源的名称,使用默认的就可以-->
        <environment id="development">
            <!--事务类型:使用    JDBC 事务,使用    Connection 的提交和回滚-->
            <transactionManager type="JDBC"/>
            <!--表示使用 数据库连接池-->
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <!--映射文件路径,从classpath 路径查找文件
        <mapper resource="com/zhao/mapper/TeamMapper.xml"></mapper>
        <mapper resource="com/zhao/mapper/GameRecordMapper.xml"></mapper>-->

        <!--使用的mapper接口的完全限定名 要求:接口和映射文件同包同名
        <mapper class="com.zhao.mapper.GameRecordMapper"></mapper>
        <mapper class="com.zhao.mapper.TeamMapper"></mapper>-->

        <!--将包内的映射器接口实现全部注册为映射器:推荐-->
        <package name="com.zhao.mapper"/>
    </mappers>
</configuration>

第三步:在查询语句的前一条执行PageHelper.startPage(?,?);,得到查询结果后,可以根据查询结果得到分页的其他使用属性

public void findAll() {
        PageHelper.startPage(2,5);
        List<Team> list = teamMapper.findAll();
        PageInfo<Team> info = new PageInfo<>(list);
        System.out.println("当前页"+info.getPageNum());
        System.out.println("每页的数量"+info.getPageSize());
        System.out.println("当前页的数量"+info.getSize());
        System.out.println("总页数"+info.getPages());
        System.out.println("上一页"+info.getPrePage());
        System.out.println("下一页"+info.getNextPage());
        int[] nums = info.getNavigatepageNums();
        for (int num : nums) {
            System.out.println("第"+num+"页");
        }
        list.forEach(team -> System.out.println(team));
    }
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐