• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Mybatis分页插件的实例详解

    Mybatis分页插件的实例详解

    1.前言:

    我们知道,在MySQL中,分页的sql是使用limit来做,如果我们自己写sql,那分页肯定是没有任何问题的。但是一旦model多了起来,复杂了起来,我们很自然的想到使用mybatis的逆向工程来生成相应的po和mapper,但是同时也会带来弊端,比如这里的分页问题就不好解决了。

      可能有人会说,我可以修改生成的文件,没错,这是可行的,但是一般我们通过逆向工程生成的文件,都不会去动它,所以这个时候,就需要使用分页插件来解决了。

    如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件。

    该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页。

     2.使用方法

    第一步:在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方法会被分页
    ListCountry> list = countryMapper.selectIf(1);
    

    2、取分页信息

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

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

    //获取第1页,10条内容,默认查询总数count
    PageHelper.startPage(1, 10);
    ListCountry> 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());
    

     3.TestPageHelper

    @Test
    public void testPageHelper() {
     //创建一个spring容器
     ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-*.xml");
     //从spring容器中获得Mapper的代理对象
     TbItemMapper mapper = applicationContext.getBean(TbItemMapper.class);
     //执行查询,并分页
     TbItemExample example = new TbItemExample();
     //分页处理
     PageHelper.startPage(2, 10);
     ListTbItem> list = mapper.selectByExample(example);
     //取商品列表
     for (TbItem tbItem : list) {
      System.out.println(tbItem.getTitle());
     }
     //取分页信息
     PageInfoTbItem> pageInfo = new PageInfo>(list);
     long total = pageInfo.getTotal();
     System.out.println("共有商品:"+ total);
    }
    
    
    
    

    感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

    您可能感兴趣的文章:
    • mybatis分页插件pageHelper详解及简单实例
    • Spring mvc整合mybatis(crud+分页插件)操作mysql
    • spring boot和mybatis集成分页插件
    • Mybatis分页插件PageHelper的使用详解
    • 自己动手写的mybatis分页插件(极其简单好用)
    • Mybatis常用分页插件实现快速分页处理技巧
    • Mybatis全面分页插件
    • Java简单实现SpringMVC+MyBatis分页插件
    上一篇:将sqlite3中数据导入到mysql中的实战教程
    下一篇:RBAC简介_动力节点Java学院整理
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Mybatis分页插件的实例详解 Mybatis,分页,插件,的,实例,