久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Mybatis分頁插件的示例分析

135次閱讀
沒有評論

共計 2281 個字符,預計需要花費 6 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

這篇文章主要介紹 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 分頁插件的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注丸趣 TV 行業資訊頻道!

向 AI 問一下細節

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-04發表,共計2281字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 宽甸| 江源县| 台东县| 陆丰市| 玉林市| 孝昌县| 綦江县| 电白县| 利津县| 文水县| 犍为县| 雷州市| 新沂市| 石泉县| 庆云县| 康保县| 犍为县| 瑞安市| 晴隆县| 平潭县| 浦县| 富川| 杨浦区| 招远市| 巢湖市| 重庆市| 随州市| 九龙县| 都兰县| 伊宁县| 枣强县| 武宣县| 格尔木市| 宜良县| 息烽县| 巫溪县| 象山县| 德阳市| 大连市| 泸州市| 鸡东县|