欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Springboot?Mybatis使用pageHelper如何實(shí)現(xiàn)分頁(yè)查詢

 更新時(shí)間:2024年05月06日 11:36:21   作者:小目標(biāo)青年  
這篇文章主要介紹了Springboot?Mybatis使用pageHelper如何實(shí)現(xiàn)分頁(yè)查詢問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Mybatis使用pageHelper實(shí)現(xiàn)分頁(yè)查詢

以下介紹實(shí)戰(zhàn)中數(shù)據(jù)庫(kù)框架使用的是mybatis,對(duì)整合mybatis此處不做介紹。

使用pageHelper實(shí)現(xiàn)分頁(yè)查詢其實(shí)非常簡(jiǎn)單,共兩步:

  • 一、導(dǎo)入依賴
  • 二、添加配置

那么開(kāi)始,

第一步

pom.xml添加依賴:

<!--分頁(yè)插件 pagehelper -->
<dependency>
   <groupId>com.github.pagehelper</groupId>
   <artifactId>pagehelper-spring-boot-starter</artifactId>
   <!-- 特別注意版本問(wèn)題 -->
   <version>1.2.3</version>
</dependency>

第二步

aplication.yml添加配置:

#分頁(yè)pageHelper
pagehelper:
  helper-dialect: mysql
  reasonable: true
  support-methods-arguments: true
  • ·helper-dialect

配置使用哪種數(shù)據(jù)庫(kù)語(yǔ)言,不配置的話pageHelper也會(huì)自動(dòng)檢測(cè)

  • ·reasonable

配置分頁(yè)參數(shù)合理化功能,默認(rèn)是false。

#啟用合理化時(shí),如果pageNum<1會(huì)查詢第一頁(yè),如果pageNum>總頁(yè)數(shù)會(huì)查詢最后一頁(yè);

#禁用合理化時(shí),如果pageNum<1或pageNum>總頁(yè)數(shù)會(huì)返回空數(shù)據(jù)。

  • ·params

為了支持startPage(Object params)方法,增加了該參數(shù)來(lái)配置參數(shù)映射,用于從對(duì)象中根據(jù)屬性名取值;

可以配置 pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默認(rèn)值, 默認(rèn)值為

pageNum=pageNum;pageSize=pageSize;count=countSql;
reasonable=reasonable;pageSizeZero=pageSizeZero
  • ·support-methods-arguments

支持通過(guò)Mapper接口參數(shù)來(lái)傳遞分頁(yè)參數(shù)

默認(rèn)值false,分頁(yè)插件會(huì)從查詢方法的參數(shù)值中

自動(dòng)根據(jù)上面 params 配置的字段中取值,查找到合適的值時(shí)就會(huì)自動(dòng)分頁(yè)

第三步

先將需要查詢的數(shù)據(jù)庫(kù)表建起來(lái),簡(jiǎn)單填充數(shù)據(jù):

然后mapper層寫(xiě)上查詢?cè)摫頂?shù)據(jù)返回List的方法:

//查詢所有
List<User> queryUserInfo();

在service以及impl也寫(xiě)上相關(guān)方法:

//查詢所有
List<User> queryUserInfo();
@Override
public List<User> queryUserInfo() {
 
    return userMapper.queryUserInfo();
}

相關(guān)的mapper.xml就不做過(guò)多介紹了,就是一個(gè)查詢。

ok,接下來(lái)開(kāi)始使用分頁(yè)插件,配合上面的查詢實(shí)現(xiàn)分頁(yè)查詢:

在userService上添加 分頁(yè)查詢方法2個(gè):

List<User> findAllUserByPageF(int pageNum,int pageSize);
 
PageInfo<User> findAllUserByPageS(int pageNum, int pageSize);

userServiceImpl上添加 分頁(yè)查詢實(shí)現(xiàn):

@Override
public List<User> findAllUserByPageF(int pageNum, int pageSize) {
    // TODO Auto-generated method stub
    PageHelper.startPage(pageNum, pageSize);
    List<User> lists = userMapper.queryUserInfo();
    return lists;
}
 
@Override
public PageInfo<User> findAllUserByPageS(int pageNum, int pageSize) {
    // TODO Auto-generated method stub
    PageHelper.startPage(pageNum, pageSize);
    List<User> lists = userMapper.queryUserInfo();
    PageInfo<User> pageInfo = new PageInfo<User>(lists);
    return pageInfo;
 
}

最后在controller寫(xiě)上測(cè)試接口,

@GetMapping("/testPageHelper1")
public PageInfo<User> testPageHelper1(){
    PageInfo<User> queryResult = userService.findAllUserByPageS(1, 5);
    return queryResult;
}
 
@GetMapping("/testPageHelper2")
public List<User> testPageHelper2(){
    List<User> queryResult = userService.findAllUserByPageF(1, 5);
    return queryResult;
}

然后用POSTMAN 分別調(diào)接口看看結(jié)果:

最后附上分別調(diào)用10次的性能分析簡(jiǎn)圖(來(lái)自DRUID):

OK,簡(jiǎn)單實(shí)戰(zhàn)介紹到此。

PageInfo的參數(shù)解釋,可以看看我這篇:

http://www.dbjr.com.cn/program/320636vi5.htm

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • java 獲取HttpRequest Header的幾種方法(必看篇)

    java 獲取HttpRequest Header的幾種方法(必看篇)

    下面小編就為大家?guī)?lái)一篇java 獲取HttpRequest Header的幾種方法(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-09-09
  • SpringCloud?Alibaba環(huán)境集成之nacos詳解

    SpringCloud?Alibaba環(huán)境集成之nacos詳解

    Spring?Cloud?Alibaba提供了越來(lái)越完善的各類微服務(wù)治理組件,比如分布式服務(wù)配置與注冊(cè)中心nacos,服務(wù)限流、熔斷組件sentinel等,本篇先來(lái)介紹SpringCloud?Alibaba環(huán)境集成之nacos詳解,需要的朋友可以參考下
    2023-03-03
  • Java?InputStream實(shí)戰(zhàn)之輕松讀取操作文件流

    Java?InputStream實(shí)戰(zhàn)之輕松讀取操作文件流

    在Java中,輸入輸出是非常重要的基礎(chǔ)功能,其中,InputStream是Java中的一個(gè)重要輸入流類,用于從輸入源讀取數(shù)據(jù),下面我們就來(lái)學(xué)習(xí)一下InputStream類的相關(guān)知識(shí)吧
    2023-10-10
  • java設(shè)計(jì)模式之單例模式解析

    java設(shè)計(jì)模式之單例模式解析

    這篇文章主要為大家詳細(xì)介紹了java設(shè)計(jì)模式之單例模式的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Idea 搭建Spring源碼環(huán)境的超詳細(xì)教程

    Idea 搭建Spring源碼環(huán)境的超詳細(xì)教程

    這篇文章主要介紹了Idea 搭建Spring源碼環(huán)境,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Struts2中Action三種接收參數(shù)形式與簡(jiǎn)單的表單驗(yàn)證功能

    Struts2中Action三種接收參數(shù)形式與簡(jiǎn)單的表單驗(yàn)證功能

    本文以登錄驗(yàn)證為例,進(jìn)行代碼展示,下面給大家詳細(xì)介紹Struts2中Action三種接收參數(shù)形式與簡(jiǎn)單的表單驗(yàn)證功能,需要的朋友參考下
    2017-03-03
  • 用Java實(shí)現(xiàn)簡(jiǎn)單ATM機(jī)功能

    用Java實(shí)現(xiàn)簡(jiǎn)單ATM機(jī)功能

    這篇文章主要為大家詳細(xì)介紹了用Java實(shí)現(xiàn)簡(jiǎn)單ATM機(jī)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • jpa介紹以及在spring boot中使用詳解

    jpa介紹以及在spring boot中使用詳解

    最近在項(xiàng)目中使用了一下jpa,發(fā)現(xiàn)還是挺好用的。這里就來(lái)講一下jpa以及在spring boot中的使用。在這里我們先來(lái)了解一下jpa,希望能給你帶來(lái)幫助
    2021-08-08
  • Java使用apache?poi操作excel的方式

    Java使用apache?poi操作excel的方式

    這篇文章主要介紹了Java使用apache?poi進(jìn)行excel相關(guān)操作,本文主要針對(duì)Apache?POI對(duì)excel的操作進(jìn)行介紹,主要包括如何創(chuàng)建一個(gè)excel、錄入數(shù)據(jù)、讀取excel數(shù)據(jù)的方式,需要的朋友可以參考下
    2022-05-05
  • 基于hibernate實(shí)現(xiàn)的分頁(yè)技術(shù)實(shí)例分析

    基于hibernate實(shí)現(xiàn)的分頁(yè)技術(shù)實(shí)例分析

    這篇文章主要介紹了基于hibernate實(shí)現(xiàn)的分頁(yè)技術(shù),結(jié)合實(shí)例形式分析了Hibernate分頁(yè)技術(shù)的原理,實(shí)現(xiàn)步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-03-03

最新評(píng)論