麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > 文庫 > 正文

Mybatis分頁插件的實例詳解

2020-10-29 21:47:38
字體:
來源:轉載
供稿:網友

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條內容,默認查詢總數countPageHelper.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條內容,默認查詢總數countPageHelper.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());

 3.TestPageHelper

@Testpublic 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); List<TbItem> list = mapper.selectByExample(example); //取商品列表 for (TbItem tbItem : list) {  System.out.println(tbItem.getTitle()); } //取分頁信息 PageInfo<TbItem> pageInfo = new PageInfo<>(list); long total = pageInfo.getTotal(); System.out.println("共有商品:"+ total);}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 草b视频在线观看 | 亚洲午夜视频在线 | 鲁人人人鲁人人鲁精品 | 极品国产91在线网站 | 成年性羞羞视频免费观看无限 | 欧美性a视频 | 成年人黄色片视频 | 国产日韩大片 | 深夜免费观看视频 | 久久99精品国产99久久6男男 | 黄色av网 | 日本黄色免费播放 | 久久精品性视频 | 日本在线高清 | 911色_911色sss主站色播 | 成人黄视频在线观看 | 亚洲欧美日韩在线 | 久久草在线视频国产 | 97中文字幕在线观看 | 一区播放 | 97久久精品一区二区三区观看 | 欧美大胆xxxx肉体摄影 | 黄色毛片一级视频 | 亚洲精品成人18久久久久 | 噜噜噜在线 | 精品国产一区二区三区四区在线 | 国产成人精品免费视频大全办公室 | 色综合激情 | 亚洲极色 | 色污视频在线观看 | 久久综合久久美利坚合众国 | 一级黄色毛片播放 | 亚洲91精品 | 亚洲一区二区免费 | 黄色网址入口 | 泰剧19禁啪啪无遮挡 | 国产成人精品午夜视频' | 一级免费视频 | 亚洲国产精久久久久久久 | 色视频在线播放 | 黄色成人av在线 |