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

Spring Boot中整合PageHelper實(shí)現(xiàn)分頁(yè)功能詳細(xì)步驟

 更新時(shí)間:2024年05月29日 14:59:29   作者:風(fēng)止?  
在Spring Boot項(xiàng)目中整合PageHelper并實(shí)現(xiàn)分頁(yè)查詢功能的全部步驟,通過(guò)以上配置和代碼,我們可以輕松地實(shí)現(xiàn)數(shù)據(jù)庫(kù)分頁(yè)查詢,提高了開發(fā)效率并改善了用戶體驗(yàn),感興趣的朋友跟隨小編一起看看吧

1.前言

        在開發(fā)web應(yīng)用程序時(shí),經(jīng)常會(huì)遇到需要對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行分頁(yè)查詢的情況。為了簡(jiǎn)化分頁(yè)查詢的實(shí)現(xiàn)過(guò)程,我們可以利用PageHelper這個(gè)優(yōu)秀的分頁(yè)插件來(lái)實(shí)現(xiàn)分頁(yè)功能。本文將介紹如何在Spring Boot項(xiàng)目中整合PageHelper,并演示如何使用它來(lái)實(shí)現(xiàn)分頁(yè)功能。

2.添加依賴 

首先,在你的Spring Boot項(xiàng)目中的pom.xml文件中添加PageHelper的依賴

<!--        PageHelper分頁(yè)查詢的依賴-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.4.6</version>
        </dependency>

3.聲明一個(gè)統(tǒng)一返回類

@Data
@NoArgsConstructor
@AllArgsConstructor
public class PageBean<T> {
    private int total;//總記錄數(shù)
    private List<T> items;//數(shù)據(jù)列表
}

4.使用PageHelper實(shí)現(xiàn)分頁(yè)查詢 

接下來(lái),我將演示如何在Service層中使用PageHelper來(lái)實(shí)現(xiàn)分頁(yè)查詢。假設(shè)我們有一個(gè)UserService來(lái)處理用戶信息的查詢,我們可以按照以下步驟來(lái)實(shí)現(xiàn)分頁(yè)功能:

@Override
public PageBean<Article> getPageArticle(Integer pageNum, Integer pageSize, String categoryId, String state) {
    //1.創(chuàng)建PageBean用于封裝查詢好的數(shù)據(jù)
    PageBean<Article> pageBean = new PageBean<>();
    //2.開啟分頁(yè)查詢
    //開啟后PageHelper在底層,會(huì)攔截查詢前的SQL語(yǔ)句,在其后面加上類似LIMIT等數(shù)據(jù)庫(kù)特定的分頁(yè)語(yǔ)句
    PageHelper.startPage(pageNum, pageSize);
    //3.調(diào)用數(shù)據(jù)層查詢含條件的,pageHelper自動(dòng)拼接sql語(yǔ)句
    //獲得創(chuàng)建人id
    Map<String,Object> map = ThreadLocalUtil.get();
    Integer userId = (Integer) map.get("id");
    List<Article> articles = articleDao.getPageArticle(userId,categoryId,state);
    //Page中提供方法,可以獲取PageHelper分頁(yè)查詢后  得到總記錄條數(shù)和當(dāng)前數(shù)據(jù)
    Page<Article> p = (Page<Article>) articles;//如果不強(qiáng)轉(zhuǎn)的話多態(tài)是不允許父類類型調(diào)用子類特有的方法的
    //把數(shù)據(jù)填充到pageBean中
    pageBean.setTotal(p.getPages());
    pageBean.setItems(p.getResult());
    return pageBean;
}

        這里把返回結(jié)果List前傳成Page就是因?yàn)槎鄳B(tài)的弊端,無(wú)法調(diào)用子類特有的方法,Page是List的實(shí)現(xiàn)類所以說(shuō)要調(diào)用Page的getPages()和getResult()來(lái)獲取條數(shù)和數(shù)據(jù)集合,就需要強(qiáng)轉(zhuǎn)。

         還有一點(diǎn)要注意的就是,當(dāng)我開啟分頁(yè)查詢 PageHelper.startPage(pageNum, pageSize);Pagehelper會(huì)用Aop的思想幫我們自動(dòng)在此方法執(zhí)行的sql中拼接一個(gè)limit子句。

5.總結(jié)

至此,我們已經(jīng)完成了在Spring Boot項(xiàng)目中整合PageHelper并實(shí)現(xiàn)分頁(yè)查詢功能的全部步驟。通過(guò)以上配置和代碼,我們可以輕松地實(shí)現(xiàn)數(shù)據(jù)庫(kù)分頁(yè)查詢,提高了開發(fā)效率并改善了用戶體驗(yàn)。

希望本文能夠?qū)δ阌兴鶐椭?,祝你在Spring Boot項(xiàng)目中順利實(shí)現(xiàn)分頁(yè)功能!

到此這篇關(guān)于如何在Spring Boot中整合PageHelper實(shí)現(xiàn)分頁(yè)功能的文章就介紹到這了,更多相關(guān)Spring Boot PageHelper分頁(yè)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 全網(wǎng)最全Mybatis-Plus詳解

    全網(wǎng)最全Mybatis-Plus詳解

    Mybatis-Plus是一個(gè)Mybatis(opens?new?window)的增強(qiáng)工具,在Mybatis的基礎(chǔ)上只做增強(qiáng)不做改變,為簡(jiǎn)化開發(fā),這篇文章主要介紹了全網(wǎng)最全Mybatis-Plus詳解,需要的朋友可以參考下
    2024-05-05
  • 詳解MybatisPlus3.4版本之后分頁(yè)插件的使用

    詳解MybatisPlus3.4版本之后分頁(yè)插件的使用

    從Mybatis Plus 3.4.0版本開始,不再使用舊版本的PaginationInterceptor ,而是使用MybatisPlusInterceptor。本文就詳細(xì)的介紹一下兩者的區(qū)別,感興趣的可以了解一下
    2021-11-11
  • elasticsearch中term與match的區(qū)別講解

    elasticsearch中term與match的區(qū)別講解

    今天小編就為大家分享一篇關(guān)于elasticsearch中term與match的區(qū)別講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • 帶你入門Java的集合

    帶你入門Java的集合

    Java的集合類型都是對(duì)java.util包中Collection接口的繼承,這里我們主要介紹依賴于collection的一些主分支,一起來(lái)看一下Java中的collection集合類型總結(jié)
    2021-07-07
  • Springboot接收文件與發(fā)送文件實(shí)例教程

    Springboot接收文件與發(fā)送文件實(shí)例教程

    最近工作中遇到個(gè)需求,springboot簡(jiǎn)單的上傳文檔或者圖片,并且進(jìn)行操作,操作完后進(jìn)行保存指定路徑,下面這篇文章主要給大家介紹了關(guān)于Springboot接收文件與發(fā)送文件的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • 解決idea 通過(guò)build project 手動(dòng)觸發(fā)熱部署失敗的問題

    解決idea 通過(guò)build project 手動(dòng)觸發(fā)熱部署失敗的問題

    在debug運(yùn)行項(xiàng)目的過(guò)程中,并且保證(不添加方法,不修改方法名)一定的規(guī)則的情況下,可以通過(guò)build project 來(lái)手動(dòng)熱部署項(xiàng)目,本文給大家介紹解決idea 通過(guò)build project 手動(dòng)觸發(fā)熱部署失敗的問題,感興趣的朋友一起看看吧
    2023-12-12
  • 解決使用mybatis-plus時(shí),生成的SQL大寫變小寫加下劃線問題

    解決使用mybatis-plus時(shí),生成的SQL大寫變小寫加下劃線問題

    這篇文章主要介紹了解決使用mybatis-plus時(shí),生成的SQL大寫變小寫加下劃線問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • springboot應(yīng)用中使用過(guò)濾器的過(guò)程詳解

    springboot應(yīng)用中使用過(guò)濾器的過(guò)程詳解

    過(guò)濾器通常用于實(shí)現(xiàn)跨切面的功能,例如身份驗(yàn)證、日志記錄、請(qǐng)求和響應(yīng)的修改、性能監(jiān)控等,這篇文章主要介紹了springboot應(yīng)用中使用過(guò)濾器,需要的朋友可以參考下
    2023-06-06
  • Java設(shè)計(jì)模式之原型模式詳細(xì)解讀

    Java設(shè)計(jì)模式之原型模式詳細(xì)解讀

    這篇文章主要介紹了Java設(shè)計(jì)模式之原型模式詳細(xì)解讀,原型模式屬于創(chuàng)建型設(shè)計(jì)模式,用于創(chuàng)建重復(fù)的對(duì)象,且同時(shí)又保證了性能,該設(shè)計(jì)模式的好處是將對(duì)象的創(chuàng)建與調(diào)用方分離,需要的朋友可以參考下
    2023-12-12
  • Java SSL與TLS客戶端證書配置方式

    Java SSL與TLS客戶端證書配置方式

    這篇文章主要介紹了Java SSL與TLS客戶端證書配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評(píng)論

叶城县| 桑日县| 丰城市| 庆云县| 乌恰县| 乐昌市| 泸西县| 成武县| 武强县| 陕西省| 尖扎县| 马鞍山市| 芦溪县| 历史| 栾城县| 昌乐县| 尼玛县| 仪征市| 肇州县| 高邮市| 陈巴尔虎旗| 平顺县| 康乐县| 湘潭县| 邢台县| 富源县| 达州市| 锦州市| 康定县| 漳浦县| 云和县| 南丰县| 翼城县| 基隆市| 绥江县| 朔州市| 花垣县| 苏尼特右旗| 饶阳县| 唐河县| 永兴县|