Mybatis分頁(yè)插件PageHelper的使用詳解
1.說(shuō)明
如果你也在用Mybatis,建議嘗試該分頁(yè)插件,這個(gè)一定是最方便使用的分頁(yè)插件。
該插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六種數(shù)據(jù)庫(kù)分頁(yè)。
2.使用方法
第一步:在Mybatis配置xml中配置攔截器插件:
<plugins> <!-- com.github.pagehelper為PageHelper類(lèi)所在包名 --> <plugin interceptor="com.github.pagehelper.PageHelper"> <!-- 設(shè)置數(shù)據(jù)庫(kù)類(lèi)型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六種數(shù)據(jù)庫(kù)--> <property name="dialect" value="mysql"/> </plugin> </plugins>
第二步:在代碼中使用
1、設(shè)置分頁(yè)信息:
//獲取第1頁(yè),10條內(nèi)容,默認(rèn)查詢(xún)總數(shù)count PageHelper.startPage(1, 10); //緊跟著的第一個(gè)select方法會(huì)被分頁(yè) List<Country> list = countryMapper.selectIf(1);
2、取分頁(yè)信息
//分頁(yè)后,實(shí)際返回的結(jié)果list類(lèi)型是Page<E>,如果想取出分頁(yè)信息,需要強(qiáng)制轉(zhuǎn)換為Page<E>, Page<Country> listCountry = (Page<Country>)list; listCountry.getTotal();
3、取分頁(yè)信息的第二種方法
//獲取第1頁(yè),10條內(nèi)容,默認(rèn)查詢(xún)總數(shù)count PageHelper.startPage(1, 10); List<Country> list = countryMapper.selectAll(); //用PageInfo對(duì)結(jié)果進(jìn)行包裝 PageInfo page = new PageInfo(list); //測(cè)試PageInfo全部屬性 //PageInfo包含了非常全面的分頁(yè)屬性 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());
- MyBatis中傳入?yún)?shù)parameterType類(lèi)型詳解
- mybatis中批量插入的兩種方式(高效插入)
- springboot與mybatis整合實(shí)例詳解(完美融合)
- Mybatis Update操作返回值問(wèn)題
- MyBatis入門(mén)學(xué)習(xí)教程(一)-MyBatis快速入門(mén)
- MyBatis批量插入(insert)數(shù)據(jù)操作
- MyBatisPlus 自定義sql語(yǔ)句的實(shí)現(xiàn)
- Mybatis中使用updateBatch進(jìn)行批量更新
- 結(jié)合mybatis-plus實(shí)現(xiàn)簡(jiǎn)單不需要寫(xiě)sql的多表查詢(xún)
- 如何使用MyBatis框架實(shí)現(xiàn)增刪改查(CRUD)操作
相關(guān)文章
關(guān)于MVC與SpringMVC的介紹、區(qū)別、執(zhí)行流程
這篇文章主要介紹了關(guān)于MVC與SpringMVC的介紹、區(qū)別、執(zhí)行流程,MVC框架的主要目標(biāo)是將應(yīng)用程序的業(yè)務(wù)邏輯(Model)與用戶(hù)界面(View)分離開(kāi)來(lái),從而提高應(yīng)用程序的可維護(hù)性和可擴(kuò)展性,需要的朋友可以參考下2023-05-05Spring?Cloud?OpenFeign?遠(yuǎn)程調(diào)用
這篇文章主要介紹了Spring?Cloud?OpenFeign?遠(yuǎn)程調(diào)用,本文通過(guò)遠(yuǎn)程調(diào)用的GitHub開(kāi)放API用到的OpenFeign作為示例代碼作為入口進(jìn)行講解。然后以圖解+解讀源碼的方式深入剖析了OpenFeign的運(yùn)行機(jī)制和架構(gòu)設(shè)計(jì),需要的朋友可以參考一下2022-08-08java?web實(shí)現(xiàn)簡(jiǎn)單登錄注冊(cè)功能全過(guò)程(eclipse,mysql)
前期我們學(xué)習(xí)了javaweb項(xiàng)目用JDBC連接數(shù)據(jù)庫(kù),還有數(shù)據(jù)庫(kù)的建表功能,下面這篇文章主要給大家介紹了關(guān)于java?web實(shí)現(xiàn)簡(jiǎn)單登錄注冊(cè)功能的相關(guān)資料,需要的朋友可以參考下2022-07-07如何把第三方服務(wù)注冊(cè)到spring項(xiàng)目容器中
這篇文章主要為大家介紹了如何把第三方服務(wù)注冊(cè)到spring項(xiàng)目容器中,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07MyBatis Plus整合Redis實(shí)現(xiàn)分布式二級(jí)緩存的問(wèn)題
Mybatis內(nèi)置的二級(jí)緩存在分布式環(huán)境下存在分布式問(wèn)題,無(wú)法使用,但是我們可以整合Redis來(lái)實(shí)現(xiàn)分布式的二級(jí)緩存,這篇文章給大家介紹MyBatis Plus整合Redis實(shí)現(xiàn)分布式二級(jí)緩存,感興趣的朋友跟隨小編一起看看吧2023-11-11SpringBoot+Vue前后端分離實(shí)現(xiàn)審核功能的示例
在實(shí)際開(kāi)發(fā)中,審核功能是一個(gè)非常常用的功能,本文就來(lái)介紹一下使用SpringBoot+Vue前后端分離實(shí)現(xiàn)審核功能的示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02基于SpringBoot和Vue實(shí)現(xiàn)分片上傳系統(tǒng)
最近想做一個(gè)關(guān)于文件上傳的個(gè)人小網(wǎng)盤(pán),一開(kāi)始嘗試使用了OSS的方案,但是該方案對(duì)于大文件來(lái)說(shuō)并不友好,所以開(kāi)始嘗試分片上傳方案的探索,接下來(lái)小編給大家詳細(xì)的介紹一下如何基于SpringBoot和Vue實(shí)現(xiàn)分片上傳系統(tǒng),需要的朋友可以參考下2023-12-12Java創(chuàng)建線程的五種寫(xiě)法總結(jié)
本文主要為大家詳細(xì)介紹一下Java實(shí)現(xiàn)線程創(chuàng)建的五種寫(xiě)法,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)有一定的幫助,感興趣的可以跟隨小編學(xué)習(xí)一下2022-08-08