介绍
这里直接拿本站前面做的项目继续扩展,不懂请转到《使用Mapper接口开发MyBatis项目》。
案例源代码:本地下载
案例
1.导入分页的jar包
jsqlparser-0.9.1.jar:本地下载
mapper-3.3.9.jar:本地下载
pagehelper-4.1.6.jar:本地下载
persistence-api-1.0.jar:本地下载
2.修改配置文件
在mybatis.xml文件中注册插件(在configuration标签下加入就行)。
mybatis.xml
<plugins>
<plugin interceptor="com.github.pagehelper.PageHelper">
<property name="dialect" value="mysql" />
</plugin>
</plugins>
3.使用分页插件设置静态方法
test.java
/**
* 测试 分页插件使用一个静态方法设置
*/
public void test09(){
try {
GoodsMapper goodsMapper = this.sqlSession.getMapper(GoodsMapper.class);
PageHelper.startPage(1, 2); //进队后面的第一个查询有效
List<Goods> goodsList = goodsMapper.findAll();
for (Goods goods : goodsList) {
System.out.println(goods);
}
} catch(Exception e) {
e.printStackTrace();
} finally {
this.sqlSession.close();
}
}
4.获取分页的信息
test.java
/**
* 获得分页的信息
*/
public void test10(){
try {
GoodsMapper goodsMapper = this.sqlSession.getMapper(GoodsMapper.class);
PageHelper.startPage(1, 2);
List<Goods> goodsList = goodsMapper.findAll();
PageInfo<Goods> pageInfo = new PageInfo<Goods>(goodsList);
for (Goods goods : goodsList) {
System.out.println(goods);
}
System.out.println("当前页码:" + pageInfo.getPageNum());
System.out.println("每页记录数:" + pageInfo.getPageSize());
System.out.println("总页码数:" + pageInfo.getPages());
System.out.println("总记录数:" + pageInfo.getTotal());
System.out.println("上一页:" + pageInfo.getPrePage());
System.out.println("下一页:" + pageInfo.getNextPage());
} catch(Exception e) {
e.printStackTrace();
} finally {
this.sqlSession.close();
}
}
5.测试验证
注意控制上一页,下一页合理范围(上一页不会 小于等于 0, 下一页不会 超过总页码),相关的if语句自己完成。
评论