亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mybatis分頁插件的示例分析

發布時間:2021-07-15 10:38:03 來源:億速云 閱讀:162 作者:小新 欄目:數據庫

這篇文章主要介紹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方法會被分頁
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());

 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);
 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);
}

以上是“Mybatis分頁插件的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

怀化市| 夏邑县| 平安县| 新乡县| 闵行区| 山丹县| 麻江县| 太仆寺旗| 松溪县| 泰宁县| 保山市| 万全县| 柳河县| 昔阳县| 喀喇| 泸水县| 金坛市| 武鸣县| 房产| 遂昌县| 全州县| 景泰县| 溧阳市| 福鼎市| 枞阳县| 襄垣县| 乌鲁木齐市| 右玉县| 高州市| 五华县| 宁波市| 石景山区| 威信县| 永顺县| 本溪| 新乡县| 七台河市| 长武县| 东乡县| 咸阳市| 长海县|