最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

Mybatis使用pageHelper實現(xiàn)分頁查詢

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

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

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

那么開始,

第一步

pom.xml添加依賴:

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

第二步

aplication.yml添加配置:

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

配置使用哪種數(shù)據(jù)庫語言,不配置的話pageHelper也會自動檢測

  • ·reasonable

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

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

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

  • ·params

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

可以配置 pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默認值, 默認值為

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

支持通過Mapper接口參數(shù)來傳遞分頁參數(shù)

默認值false,分頁插件會從查詢方法的參數(shù)值中

自動根據(jù)上面 params 配置的字段中取值,查找到合適的值時就會自動分頁

第三步

先將需要查詢的數(shù)據(jù)庫表建起來,簡單填充數(shù)據(jù):

然后mapper層寫上查詢該表數(shù)據(jù)返回List的方法:

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

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

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

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

ok,接下來開始使用分頁插件,配合上面的查詢實現(xiàn)分頁查詢:

在userService上添加 分頁查詢方法2個:

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

userServiceImpl上添加 分頁查詢實現(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寫上測試接口,

@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次的性能分析簡圖(來自DRUID):

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

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

http://m.fzitv.net/program/320636vi5.htm

總結(jié)

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

相關(guān)文章

最新評論

前郭尔| 二连浩特市| 突泉县| 兰坪| 金阳县| 灌阳县| 淳化县| 温泉县| 依安县| 保亭| 竹山县| 临邑县| 达州市| 吉安县| 台湾省| 克什克腾旗| 商城县| 北票市| 五华县| 和林格尔县| 名山县| 兴隆县| 奉节县| 游戏| 赤水市| 肥乡县| 依安县| 江津市| 剑河县| 苏尼特左旗| 崇州市| 岳阳市| 息烽县| 白朗县| 乌拉特前旗| 望江县| 海门市| 阜城县| 太保市| 敖汉旗| 景洪市|