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

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.fzitv.net/program/320636vi5.htm

總結(jié)

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

相關(guān)文章

最新評(píng)論

福建省| 正安县| 西畴县| 富顺县| 景东| 台北县| 濉溪县| 四会市| 蛟河市| 资兴市| 台安县| 忻州市| 泰顺县| 松江区| 江源县| 西乌珠穆沁旗| 旬阳县| 凤翔县| 武邑县| 清原| 克什克腾旗| 临西县| 当涂县| 平山县| 同德县| 奇台县| 成安县| 安陆市| 包头市| 盈江县| 湄潭县| 肥西县| 桃园县| 长葛市| 大余县| 平乡县| 赫章县| 鄂尔多斯市| 中阳县| 安岳县| 肥乡县|