mybatis三剑客之pageHelper

javamagicsun 2019-06-27

一.实现原理

mybatis三剑客之pageHelper

二.实现方法

1.pom.xml中添加pageHelper依赖

<!-- pagehelper -->
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper</artifactId>
                <version>4.1.6</version>
            </dependency>

2.在sqlMapConfig.xml中配置插件

<plugins>
    <!-- com.github.pagehelper为PageHelper类所在包名 -->
    <plugin interceptor="com.github.pagehelper.PageHelper">
        <!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库-->        
        <property name="dialect" value="mysql"/>
    </plugin>
</plugins>

3.在查询的sql语句前添加一行代码

//page rows  -  第一页第十条内容
    PageHelper.startPage(1,10);

4.取查询结果的总数量

创建一个pageInfo类的对象,对对象中取分页信息

5.具体实现

@Override
    public EUDataGridResult getItemList(int page, int rows) {
        
        //查询商品列表
        TbItemExample example = new TbItemExample();
        //分页处理
        PageHelper.startPage(page,rows);
        List<TbItem> list = itemMapper.selectByExample(example);        
        //封装结果
        EUDataGridResult result = new EUDataGridResult();
        result.setRows(list);
        PageInfo<TbItem> pageInfo = new PageInfo<>(list);
        result.setTotal((int) pageInfo.getTotal());
        return result;
    }

相关推荐