美文网首页
逆向工程PageHelper实现分页

逆向工程PageHelper实现分页

作者: Zephyr_07 | 来源:发表于2019-04-04 16:09 被阅读0次

    PageHelper是Mybatis的一个分页插件

    第一步:把PageHelper依赖的jar包添加到工程中。
    第二步:在Mybatis配置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>
    

    第三步:在代码中使用
    1、设置分页信息:

        //获取第1页,10条内容,默认查询总数count
        PageHelper.startPage(1, 10);
    
        //紧跟着的第一个select方法会被分页
    List<Country> list = countryMapper.selectIf(1);
    

    2、取分页信息

    //分页后,实际返回的结果list类型是Page<E>,如果想取出分页信息,需要强制转换为Page<E>,
    Page<Country> listCountry = (Page<Country>)list;
    listCountry.getTotal();
    

    3、取分页信息的第二种方法

    //获取第1页,10条内容,默认查询总数count
    PageHelper.startPage(1, 10);
    List<Country> list = countryMapper.selectAll();
    //用PageInfo对结果进行包装
    PageInfo page = new PageInfo(list);
    //测试PageInfo全部属性
    //PageInfo包含了非常全面的分页属性
    assertEquals(1, page.getPageNum());
    assertEquals(10, page.getPageSize());
    assertEquals(1, page.getStartRow());
    assertEquals(10, page.getEndRow());
    assertEquals(183, page.getTotal());
    assertEquals(19, page.getPages());
    assertEquals(1, page.getFirstPage());
    assertEquals(8, page.getLastPage());
    assertEquals(true, page.isFirstPage());
    assertEquals(false, page.isLastPage());
    assertEquals(false, page.isHasPreviousPage());
    assertEquals(true, page.isHasNextPage());
    

    示例

    @Test
        public void testPageHelper() throws Exception {
            //初始化spring容器
            ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-*.xml");
            //获得Mapper的代理对象
            TbItemMapper itemMapper = applicationContext.getBean(TbItemMapper.class);
            //设置分页信息
            PageHelper.startPage(1, 30);
            //执行查询
            TbItemExample example = new TbItemExample();
            List<TbItem> list = itemMapper.selectByExample(example);
            //取分页信息
            PageInfo<TbItem> pageInfo = new PageInfo<>(list);
            System.out.println(pageInfo.getTotal());
            System.out.println(pageInfo.getPages());
            System.out.println(pageInfo.getPageNum());
            System.out.println(pageInfo.getPageSize());
        }
    
    

    相关文章

      网友评论

          本文标题:逆向工程PageHelper实现分页

          本文链接:https://www.haomeiwen.com/subject/oiafiqtx.html