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

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

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

1.前言

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

2.添加依賴 

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

<!--        PageHelper分頁查詢的依賴-->
        <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)分頁查詢 

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

@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.開啟分頁查詢
    //開啟后PageHelper在底層,會(huì)攔截查詢前的SQL語句,在其后面加上類似LIMIT等數(shù)據(jù)庫特定的分頁語句
    PageHelper.startPage(pageNum, pageSize);
    //3.調(diào)用數(shù)據(jù)層查詢含條件的,pageHelper自動(dòng)拼接sql語句
    //獲得創(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分頁查詢后  得到總記錄條數(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)的弊端,無法調(diào)用子類特有的方法,Page是List的實(shí)現(xiàn)類所以說要調(diào)用Page的getPages()和getResult()來獲取條數(shù)和數(shù)據(jù)集合,就需要強(qiáng)轉(zhuǎn)。

         還有一點(diǎn)要注意的就是,當(dāng)我開啟分頁查詢 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)分頁查詢功能的全部步驟。通過以上配置和代碼,我們可以輕松地實(shí)現(xiàn)數(shù)據(jù)庫分頁查詢,提高了開發(fā)效率并改善了用戶體驗(yàn)。

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

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

相關(guān)文章

最新評(píng)論