在用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));
}