mybatis分页的实现

在用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));
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

塔◎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值