摘要:說起,使用過的朋友可能不是很陌生,作為一款國人開發的分頁插件,它基本上滿足了我們的日常需求。一般用不著默認值為,是否進行查詢一般用不著和配合使用,具體可以看下面的講解默認值為。
PageHelper
說起PageHelper,使用過Mybatis的朋友可能不是很陌生,作為一款國人開發的分頁插件,它基本上滿足了我們的日常需求。但是,我想去官方文檔看看這個東西配合Spring Boot進行使用的時候,發現了這個:
所以花了一個晚上的時間,研究了一下合理的怎么玩這個。
快速入門如果你想在一個Spring Boot項目中快速進行一次分頁操作,只需要兩步即可:
導入Maven這里我導入的是官方最新的:
使用org.mybatis.spring.boot mybatis-spring-boot-starter 2.0.0 tk.mybatis mapper-spring-boot-starter 2.1.5 com.github.pagehelper pagehelper-spring-boot-starter 1.2.10
// 只有緊跟在PageHelper.startPage方法后的第一個Mybatis的查詢(Select)方法會被分頁!!!! PageHelper.startPage(1, 10); return PageInfo.of(userService.findAll());
沒錯,只需要兩句代碼即可達到我們想要的分頁效果
進階玩法如果,你僅僅是想簡單的使用分頁功能,那么這篇文章到這里對你而言來說就已經結束了,但是作為一個程序員,你會僅僅滿足于初級的玩兒法嗎?不!你不會!所以,接著往下看~
從文檔中,我們可以看出,作者給我們提供了很多的參數供我們配置:
helperDialect,offsetAsPageNum,rowBoundsWithCount,pageSizeZero,reasonable,params,supportMethodsArguments,autoRuntimeDialect,closeConn等等,我們可以通過配置這些屬性來獲得更為強大的效果~
這里需要說明一點,網上的教程大部分是讓我們在xml或者代碼中配置,其實如果你使用的是springboot,干嘛要舍近求遠呢,我們可以直接在Spring boot 的配置文件application.yml中進行配置:
pagehelper: # dialect: ① # 分頁插件會自動檢測當前的數據庫鏈接,自動選擇合適的分頁方式(可以不設置) helper-dialect: mysql # 上面數據庫設置后,下面的設置為true不會改變上面的結果(默認為true) auto-dialect: true page-size-zero: false # ② reasonable: true # ③ # 默認值為 false,該參數對使用 RowBounds 作為分頁參數時有效。(一般用不著) offset-as-page-num: false # 默認值為 false,RowBounds是否進行count查詢(一般用不著) row-bounds-with-count: false #params: ④ #support-methods-arguments: 和params配合使用,具體可以看下面的講解 # 默認值為 false。設置為 true 時,允許在運行時根據多數據源自動識別對應方言的分頁 auto-runtime-dialect: false # ⑤ # 與auto-runtime-dialect配合使用 close-conn: true # 用于控制默認不帶 count 查詢的方法中,是否執行 count 查詢,這里設置為true后,total會為-1 default-count: false #dialect-alias: ⑥
①:默認情況下會使用 PageHelper 方式進行分頁,如果想要實現自己的分頁邏輯,可以實現 Dialect(com.github.pagehelper.Dialect) 接口,然后配置該屬性為實現類的全限定名稱。(這里不推薦這樣玩,畢竟你用了別人的插件,干嘛還要多此一舉呢?)
②:默認值為 false,當該參數設置為 true 時,如果 pageSize=0 或者 RowBounds.limit = 0 就會查詢出全部的結果(相當于沒有執行分頁查詢,但是返回結果仍然是 Page 類型)。
這里需要說一點,雖然返回了全部的結果,但是還是執行了count的動作,開發者曾在issue中表示后面的版本會修復這個問題
經我的測試,目前是還沒有解決的
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/75941.html
摘要:如要運行多次,請把上次生成的映射文件代碼刪除再運行。層啟動類掃描接口,必須加上提一嘴,這個注解非常的關鍵,這個對應了項目中所對應的包路徑,必須加上,否則會導致異常。另外,關注之后在發送可領取免費學習資料。 微信公眾號:一個優秀的廢人如有問題或建議,請后臺留言,我會盡力解決你的問題。 前言 如題,今天介紹 SpringBoot 與 Mybatis 的整合以及 Mybatis 的使用,之前...
摘要:通過配置文件通過配置導入指定的使用的方式屬性的同學也可以通過配置通過配置先配置文件使用的方式再配置注意中對象需要添加托管給方能正常使用。建議與任選其一,建議使用通過注解的方式使用,當然如果習慣配置的方式也可以使用。 導讀: 在上篇文章中我們介紹了spring-data-jpa的一些常用方法,在這篇文章中我們在介紹關于mybatis與Spring Boot 的集成,及一些常用方法 集成:...
摘要:介紹本文在參考了如何優雅的在上部署的基礎下使用整合部署在服務器上。在中可以右擊將項目打成包部署測試在上部署應用可以參考部署項目包。總結到這里我們已經成功將和整合并部署到上。 介紹 本文在參考了如何優雅的在weblogic上部署spring-boot的基礎下使用springboot整合Mybatis部署在weblogic服務器上。 環境 開發工具:Eclipseweblogic版本:1...
閱讀 2727·2021-11-22 15:22
閱讀 1631·2021-11-22 14:56
閱讀 3616·2021-09-22 15:12
閱讀 2403·2021-09-02 15:41
閱讀 2122·2021-08-27 16:26
閱讀 1113·2019-08-30 15:55
閱讀 2139·2019-08-29 17:30
閱讀 665·2019-08-29 16:26