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

springboot vue項(xiàng)目后端列表接口分頁(yè)模糊查詢

 更新時(shí)間:2022年05月27日 10:22:32   作者:把蘋(píng)果咬哭的測(cè)試筆記  
這篇文章主要為大家介紹了springboot vue項(xiàng)目后端列表接口分頁(yè)模糊查詢,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

基于 springboot+vue 的測(cè)試平臺(tái)開(kāi)發(fā)

繼續(xù)更新

打開(kāi)項(xiàng)目管理,就需要看到列表里展示項(xiàng)目數(shù)據(jù),比如這樣(截圖是這個(gè)前端框架的demo,僅作示意):

那么對(duì)應(yīng)到我們平臺(tái)的項(xiàng)目管理功能,就需要有:

  • 列表展示添加的項(xiàng)目數(shù)據(jù)
  • 可以通過(guò)項(xiàng)目名稱查詢指定的項(xiàng)目
  • 新增項(xiàng)目
  • 編輯項(xiàng)目
  • 其他功能...

新增項(xiàng)目的接口已經(jīng)實(shí)現(xiàn),接下來(lái)實(shí)現(xiàn)項(xiàng)目列表接口。

這個(gè)列表接口,我需要它可以同時(shí)滿足分頁(yè)以及條件查詢,路徑大概為/list/{currentPage}/{pageSize}。

其中 currentPage 表示當(dāng)前是第幾頁(yè),pageSize 表示每頁(yè)大小。
比如/list/1/5},就說(shuō)明我要查第 1 頁(yè),每頁(yè)展示 5 條數(shù)據(jù)。

一、分頁(yè)插件

mybatis-plus 提供了一些很實(shí)用的插件,其中就包括分頁(yè)插件。

新建一個(gè)配置類(lèi) MybatisPlusConfig 用于存放 mybatis-plus 相關(guān)插件配置,并且注冊(cè)分頁(yè)插件:

package com.pingguo.bloomtest.config;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MybatisPlusConfig {
    // 分頁(yè)插件
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }
}

二、實(shí)現(xiàn)接口

實(shí)現(xiàn)的套路還是之前的那樣,說(shuō)到這,其實(shí) mybatis-plus 還提供了代碼生成器 AutoGenerator。

通過(guò)它可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各個(gè)模塊的代碼,提升開(kāi)發(fā)效率。

但是這里我并不要使用,因?yàn)楸緛?lái)就是學(xué)習(xí)的過(guò)程,多寫(xiě)寫(xiě)加深印象。另外本工程量實(shí)在也不大,就沒(méi)必要用了。

1. 編寫(xiě) Service 層

在之前的 ProjectService 下,新增查詢方法 getProjectList 。

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
    public IPage<Project> getProjectList(int currentPage, int pageSize, Project project) {
        // 創(chuàng)建分頁(yè)對(duì)象,current為當(dāng)前頁(yè)數(shù),size為每頁(yè)最大記錄數(shù)
        Page<Project> pageProject = new Page<>(currentPage, pageSize);
        QueryWrapper<Project> wrapperProject = new QueryWrapper<>();
        // 第一個(gè)參數(shù)為是否執(zhí)行條件,為true則執(zhí)行該條件
        wrapperProject.like(StringUtils.isNoneBlank(project.getProjectName()), "projectName", project.getProjectName());
        // 調(diào)用分頁(yè)查詢方法,傳入分頁(yè)對(duì)象-pageProject,wrapperProject是構(gòu)造條件對(duì)象
        return projectDAO.selectPage(pageProject, wrapperProject);
    }
  • 創(chuàng)建分頁(yè)對(duì)象 Page,它有 2 個(gè)參數(shù),其中 current 為當(dāng)前頁(yè)數(shù),size 則為每頁(yè)最大記錄數(shù)。
  • 因?yàn)?getProjectList 方法也要實(shí)現(xiàn)條件查詢,所以創(chuàng)建條件查詢對(duì)象。
  • wrapperProject.like 使用模糊查詢,like 方法可以有 3 個(gè)參數(shù),第一個(gè)參數(shù)為是否執(zhí)行條件,當(dāng)
  • projectName 為空就不執(zhí)行。
  • 最后調(diào)用 selectPage 方法,傳入分頁(yè)對(duì)象-pageProject 和 構(gòu)造條件對(duì)象 wrapperProject。

返回的對(duì)象類(lèi)型是 IPage,包名也貼出來(lái)了。

2. 編寫(xiě) Controller 層

在之前的 ProjectController 類(lèi)下新增控制方法 getProjectList 來(lái)處理請(qǐng)求:

@PostMapping("/list/{currentPage}/{pageSize}")
    public Result getProjectList(@PathVariable int currentPage,
                                 @PathVariable int pageSize,
                                 @RequestBody Project project) {
        IPage<Project> IPageProject = projectService.getProjectList(currentPage, pageSize, project);
        return Result.success(IPageProject);
    }

@PathVariable注解用來(lái)獲取路徑上的參數(shù),@RequestBody用來(lái)獲取請(qǐng)求體。

最后把返回結(jié)果 IPageProject 放到統(tǒng)一結(jié)果里返回return Result.success(IPageProject)。

三、測(cè)試接口

自測(cè)一下查詢接口。目前 Project 表里有 14 條數(shù)據(jù)。

1. 測(cè)試分頁(yè)

localhost:8080/bloomtest/project/list/2/5,14條數(shù)據(jù)按理會(huì)分為 3 頁(yè),第二頁(yè)從 id=6 的數(shù)據(jù)開(kāi)始,每頁(yè)展示 5 條。

繼續(xù)往下,到 id=10 截止,共 5 條,結(jié)果正確。

另外,還可以看到返回內(nèi)容里還有幾個(gè)字段,都是分頁(yè)相關(guān):

  • "total": 14 表示共 14 條記錄。
  • "size": 5 表示每頁(yè)最大 5 條記錄。
  • "current": 2 表示當(dāng)前是第 2 頁(yè)。
  • "pages": 3 表示共 3 頁(yè)。

這些字段在前端使用分頁(yè)控件的時(shí)候需要用到。

2. 測(cè)試條件查詢

傳入查詢參數(shù):

{ "projectName": "測(cè)試項(xiàng)目5"}

測(cè)試模糊查詢:

{ "projectName": "6"}

結(jié)果正確。

以上就是springboot vue項(xiàng)目后端列表接口分頁(yè)模糊查詢的詳細(xì)內(nèi)容,更多關(guān)于springboot vue列表分頁(yè)模糊查詢的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Spring使用Jackson實(shí)現(xiàn)轉(zhuǎn)換XML與Java對(duì)象

    Spring使用Jackson實(shí)現(xiàn)轉(zhuǎn)換XML與Java對(duì)象

    這篇文章主要為大家詳細(xì)介紹了Spring如何使用Jackson實(shí)現(xiàn)轉(zhuǎn)換XML與Java對(duì)象,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • Java面試題沖刺第二十六天--實(shí)戰(zhàn)編程2

    Java面試題沖刺第二十六天--實(shí)戰(zhàn)編程2

    這篇文章主要為大家分享了最有價(jià)值的三道java實(shí)戰(zhàn)編程的面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,感興趣的小伙伴們可以參考一下
    2021-08-08
  • IDEA熱部署配置詳細(xì)教程

    IDEA熱部署配置詳細(xì)教程

    這篇文章主要介紹了IDEA熱部署配置詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Logback配置文件這么寫(xiě),還說(shuō)你不會(huì)整理日志?

    Logback配置文件這么寫(xiě),還說(shuō)你不會(huì)整理日志?

    logback框架會(huì)默認(rèn)加載classpath下命名為logback-spring.xml或logback.xml的配置文件。這篇文章主要介紹了Logback配置文件寫(xiě)法,需要的朋友可以參考下
    2020-07-07
  • Java Swing JButton按鈕的實(shí)現(xiàn)示例

    Java Swing JButton按鈕的實(shí)現(xiàn)示例

    這篇文章主要介紹了Java Swing JButton按鈕的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • JDK8中的HashMap初始化和擴(kuò)容機(jī)制詳解

    JDK8中的HashMap初始化和擴(kuò)容機(jī)制詳解

    這篇文章主要介紹了JDK8中的HashMap初始化和擴(kuò)容機(jī)制,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • MyBatisPlus代碼生成器的原理及實(shí)現(xiàn)詳解

    MyBatisPlus代碼生成器的原理及實(shí)現(xiàn)詳解

    這篇文章主要為大家詳細(xì)介紹了MyBatisPlus中代碼生成器的原理及實(shí)現(xiàn),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)MyBatisPlus有一定幫助,需要的可以參考一下
    2022-08-08
  • java實(shí)現(xiàn)多線程交替打印

    java實(shí)現(xiàn)多線程交替打印

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)多線程交替打印,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 詳解Java LinkedHashMap與HashMap的使用

    詳解Java LinkedHashMap與HashMap的使用

    這篇文章主要通過(guò)幾個(gè)示例為大家詳細(xì)介紹了Java中LinkedHashMap與HashMap的常見(jiàn)使用和概述,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-10-10
  • Spring?Data?Jpa?復(fù)雜查詢方式總結(jié)(多表關(guān)聯(lián)及自定義分頁(yè))

    Spring?Data?Jpa?復(fù)雜查詢方式總結(jié)(多表關(guān)聯(lián)及自定義分頁(yè))

    這篇文章主要介紹了Spring?Data?Jpa?復(fù)雜查詢方式總結(jié)(多表關(guān)聯(lián)及自定義分頁(yè)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02

最新評(píng)論

西贡区| 黄浦区| 靖州| 康定县| 嘉荫县| 天台县| 宜兰市| 胶州市| 阿拉尔市| 泾川县| 大埔县| 乌兰察布市| 尉犁县| 和田县| 永康市| 大城县| 孝义市| 宜君县| 临湘市| 宣汉县| 柯坪县| 甘孜县| 祁门县| 吉木乃县| 多伦县| 泾阳县| 阜宁县| 枞阳县| 乌苏市| 纳雍县| 穆棱市| 建水县| 普陀区| 新田县| 宁都县| 肇州县| 普定县| 横峰县| 和龙市| 剑河县| 克拉玛依市|