成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

Spring Boot 2.x(十三):你不知道的PageHelper

KoreyLee / 2640人閱讀

摘要:說(shuō)起,使用過(guò)的朋友可能不是很陌生,作為一款國(guó)人開(kāi)發(fā)的分頁(yè)插件,它基本上滿(mǎn)足了我們的日常需求。一般用不著默認(rèn)值為,是否進(jìn)行查詢(xún)一般用不著和配合使用,具體可以看下面的講解默認(rèn)值為。

PageHelper

說(shuō)起PageHelper,使用過(guò)Mybatis的朋友可能不是很陌生,作為一款國(guó)人開(kāi)發(fā)的分頁(yè)插件,它基本上滿(mǎn)足了我們的日常需求。但是,我想去官方文檔看看這個(gè)東西配合Spring Boot進(jìn)行使用的時(shí)候,發(fā)現(xiàn)了這個(gè):

所以花了一個(gè)晚上的時(shí)間,研究了一下合理的怎么玩這個(gè)。

快速入門(mén)

如果你想在一個(gè)Spring Boot項(xiàng)目中快速進(jìn)行一次分頁(yè)操作,只需要兩步即可:

導(dǎo)入Maven

這里我導(dǎo)入的是官方最新的:


    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方法后的第一個(gè)Mybatis的查詢(xún)(Select)方法會(huì)被分頁(yè)!!!!
 PageHelper.startPage(1, 10);
 return PageInfo.of(userService.findAll());

沒(méi)錯(cuò),只需要兩句代碼即可達(dá)到我們想要的分頁(yè)效果

進(jìn)階玩法

如果,你僅僅是想簡(jiǎn)單的使用分頁(yè)功能,那么這篇文章到這里對(duì)你而言來(lái)說(shuō)就已經(jīng)結(jié)束了,但是作為一個(gè)程序員,你會(huì)僅僅滿(mǎn)足于初級(jí)的玩兒法嗎?不!你不會(huì)!所以,接著往下看~

從文檔中,我們可以看出,作者給我們提供了很多的參數(shù)供我們配置:

helperDialect,offsetAsPageNum,rowBoundsWithCountpageSizeZero,reasonable,params,supportMethodsArgumentsautoRuntimeDialect,closeConn等等,我們可以通過(guò)配置這些屬性來(lái)獲得更為強(qiáng)大的效果~

這里需要說(shuō)明一點(diǎn),網(wǎng)上的教程大部分是讓我們?cè)趚ml或者代碼中配置,其實(shí)如果你使用的是springboot,干嘛要舍近求遠(yuǎn)呢,我們可以直接在Spring boot 的配置文件application.yml中進(jìn)行配置:

pagehelper:
  # dialect: ①
  # 分頁(yè)插件會(huì)自動(dòng)檢測(cè)當(dāng)前的數(shù)據(jù)庫(kù)鏈接,自動(dòng)選擇合適的分頁(yè)方式(可以不設(shè)置)
  helper-dialect: mysql 
  # 上面數(shù)據(jù)庫(kù)設(shè)置后,下面的設(shè)置為true不會(huì)改變上面的結(jié)果(默認(rèn)為true)
  auto-dialect: true 
  page-size-zero: false # ②
  reasonable: true # ③
  # 默認(rèn)值為 false,該參數(shù)對(duì)使用 RowBounds 作為分頁(yè)參數(shù)時(shí)有效。(一般用不著)
  offset-as-page-num: false 
  # 默認(rèn)值為 false,RowBounds是否進(jìn)行count查詢(xún)(一般用不著)
  row-bounds-with-count: false 
  #params: ④
  #support-methods-arguments: 和params配合使用,具體可以看下面的講解
  # 默認(rèn)值為 false。設(shè)置為 true 時(shí),允許在運(yùn)行時(shí)根據(jù)多數(shù)據(jù)源自動(dòng)識(shí)別對(duì)應(yīng)方言的分頁(yè)
  auto-runtime-dialect: false # ⑤
  # 與auto-runtime-dialect配合使用
  close-conn: true 
  # 用于控制默認(rèn)不帶 count 查詢(xún)的方法中,是否執(zhí)行 count 查詢(xún),這里設(shè)置為true后,total會(huì)為-1
  default-count: false 
  #dialect-alias: ⑥

①:默認(rèn)情況下會(huì)使用 PageHelper 方式進(jìn)行分頁(yè),如果想要實(shí)現(xiàn)自己的分頁(yè)邏輯,可以實(shí)現(xiàn) Dialect(com.github.pagehelper.Dialect) 接口,然后配置該屬性為實(shí)現(xiàn)類(lèi)的全限定名稱(chēng)。(這里不推薦這樣玩,畢竟你用了別人的插件,干嘛還要多此一舉呢?)

②:默認(rèn)值為 false,當(dāng)該參數(shù)設(shè)置為 true 時(shí),如果 pageSize=0 或者 RowBounds.limit = 0 就會(huì)查詢(xún)出全部的結(jié)果(相當(dāng)于沒(méi)有執(zhí)行分頁(yè)查詢(xún),但是返回結(jié)果仍然是 Page 類(lèi)型)。

這里需要說(shuō)一點(diǎn),雖然返回了全部的結(jié)果,但是還是執(zhí)行了count的動(dòng)作,開(kāi)發(fā)者曾在issue中表示后面的版本會(huì)修復(fù)這個(gè)問(wèn)題

經(jīng)我的測(cè)試,目前是還沒(méi)有解決的

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/75941.html

相關(guān)文章

  • SpringBoot 實(shí)戰(zhàn) (十三) | 整合 MyBatis (XML 版)

    摘要:如要運(yùn)行多次,請(qǐng)把上次生成的映射文件代碼刪除再運(yùn)行。層啟動(dòng)類(lèi)掃描接口,必須加上提一嘴,這個(gè)注解非常的關(guān)鍵,這個(gè)對(duì)應(yīng)了項(xiàng)目中所對(duì)應(yīng)的包路徑,必須加上,否則會(huì)導(dǎo)致異常。另外,關(guān)注之后在發(fā)送可領(lǐng)取免費(fèi)學(xué)習(xí)資料。 微信公眾號(hào):一個(gè)優(yōu)秀的廢人如有問(wèn)題或建議,請(qǐng)后臺(tái)留言,我會(huì)盡力解決你的問(wèn)題。 前言 如題,今天介紹 SpringBoot 與 Mybatis 的整合以及 Mybatis 的使用,之前...

    _Zhao 評(píng)論0 收藏0
  • Spring Boot [集成-MyBatis]

    摘要:通過(guò)配置文件通過(guò)配置導(dǎo)入指定的使用的方式屬性的同學(xué)也可以通過(guò)配置通過(guò)配置先配置文件使用的方式再配置注意中對(duì)象需要添加托管給方能正常使用。建議與任選其一,建議使用通過(guò)注解的方式使用,當(dāng)然如果習(xí)慣配置的方式也可以使用。 導(dǎo)讀: 在上篇文章中我們介紹了spring-data-jpa的一些常用方法,在這篇文章中我們?cè)诮榻B關(guān)于mybatis與Spring Boot 的集成,及一些常用方法 集成:...

    XBaron 評(píng)論0 收藏0
  • spring-boot整合Mybatis如何部署在weblogic上

    摘要:介紹本文在參考了如何優(yōu)雅的在上部署的基礎(chǔ)下使用整合部署在服務(wù)器上。在中可以右擊將項(xiàng)目打成包部署測(cè)試在上部署應(yīng)用可以參考部署項(xiàng)目包??偨Y(jié)到這里我們已經(jīng)成功將和整合并部署到上。 介紹 本文在參考了如何優(yōu)雅的在weblogic上部署spring-boot的基礎(chǔ)下使用springboot整合Mybatis部署在weblogic服務(wù)器上。 環(huán)境 開(kāi)發(fā)工具:Eclipseweblogic版本:1...

    brianway 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<