导入坐标
5版本以上的分页助手 可以不用手动指定数据库语言,它会自动识别
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.3.2</version>
</dependency>
在mybaits核心配置文件里面配置插件
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
</plugin>
</plugins>
代码中使用
PageHelper.startPage(1,3); 第一个参数是当前页,第二个参数是每页显示的数据
PageInfo<T>()获得分页的所有参数
第一个泛型参数是对谁查询的实体类,第二个参数是要分页的数据列表
ArrayList<User> userList = mapper.getUserList();PageInfo<User> userPageInfo = new PageInfo<>(userList);System.out.println("当前页"+userPageInfo.getPageNum());System.out.println("每页显示条数"+userPageInfo.getPageSize());System.out.println("总条数"+userPageInfo.getTotal());System.out.println("总页数"+userPageInfo.getPages());System.out.println("上一页"+userPageInfo.getPrePage());System.out.println("下一页"+userPageInfo.getNextPage());System.out.println("是否是第一页"+userPageInfo.isIsFirstPage());System.out.println("是否是最后一页"+userPageInfo.isIsLastPage());
bug
映射文件
<select id="getUserList" resultType="org.pojo.User">
select * from mybatis.user;
</select>
当有分号时
会报语法错误
Preparing: select * from mybatis.user; LIMIT ?
==> Parameters: 3(Integer)
org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 3' at line 2
解决方法
去掉分号即可,因为分页助手会自动加分号