介绍

这里直接拿本站前面做的项目继续扩展,不懂请转到《使用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语句自己完成。