亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Springboot整合mybatis-plus使用pageHelper進行分頁(使用步驟)

 更新時間:2024年11月23日 09:50:14   作者:ueanaIU瀟瀟子  
PageHelper是一個MyBatis分頁插件,可以方便地實現(xiàn)數(shù)據(jù)庫查詢結(jié)果的分頁功能,在Maven或Gradle項目中引入依賴,并在配置文件中進行配置,本文給大家介紹Springboot整合mybatis-plus使用pageHelper進行分頁,感興趣的朋友跟隨小編一起看看吧

PageHelper 使用步驟全解析 

在進行 Web 應(yīng)用開發(fā)時,經(jīng)常會涉及到數(shù)據(jù)庫數(shù)據(jù)的分頁展示。PageHelper 是一個非常實用的 MyBatis 分頁插件,它能夠方便地實現(xiàn)數(shù)據(jù)庫查詢結(jié)果的分頁功能,極大地提高了開發(fā)效率。以下將簡單介紹 PageHelper 的使用步驟。 

一、引入依賴

Maven 項目

如果你的項目是基于 Maven 構(gòu)建的,需要在項目的pom.xml文件中添加 PageHelper 的依賴項。 

<!--pagehelper分頁插件-->
<dependency>
  <groupId>com.github.pagehelper</groupId>
     <artifactId>pagehelper-spring-boot-starter</artifactId>
     <version>1.4.0</version>
</dependency>

Gradle 項目 

對于 Gradle 項目,在build.gradle文件中添加以下依賴:

implementation 'com.github.pagehelper:pagehelper-spring-boot-starter:1.4.0'

二、配置 PageHelper

  • 如果是 Spring Boot 項目,在application.propertiesapplication.yml文件中進行配置。以application.yml為例:
pagehelper:
  helper-dialect: mysql # 指定數(shù)據(jù)庫方言,這里以MySQL為例
  reasonable: true # 分頁合理化,如果pageNum<1會查詢第一頁,如果pageNum>pages會查詢最后一頁
  support-methods-arguments: true # 支持通過Mapper接口參數(shù)傳遞分頁參數(shù)
  params: count=countSql # 用于從對象中根據(jù)屬性名取值,這里配置count的SQL

這些參數(shù)的詳細解釋如下:

  • helper-dialect: 指定分頁插件的數(shù)據(jù)庫方言。PageHelper會自動檢測當(dāng)前的數(shù)據(jù)庫鏈接,自動選擇合適的分頁方式。如果你使用的是MySQL,可以明確指定為mysql。
  • reasonable: 是否啟用分頁合理化。如果啟用,當(dāng)pageNum<1時,會自動查詢第一頁的數(shù)據(jù),當(dāng)pageNum>pages時,自動查詢最后一頁數(shù)據(jù);不啟用的情況下,以上兩種情況都會返回空數(shù)據(jù)。
  • support-methods-arguments: 是否支持通過Mapper接口參數(shù)來傳遞分頁參數(shù),默認值false。設(shè)置為true時,PageHelper會從查詢方法的參數(shù)值中自動根據(jù)配置的字段取值,進行分頁。
  • params: 用于從對象中根據(jù)屬性名取值,可以配置pageNum, pageSize, count, pageSizeZero, reasonable等參數(shù)。這里的count=countSql表示在執(zhí)行分頁查詢時,會使用countSql作為計算總數(shù)的SQL。

 三、在代碼中使用 PageHelper

1.簡單分頁查詢

假設(shè)我們有一個用戶表(user),要查詢并分頁展示用戶信息。首先,在對應(yīng)的 Mapper 接口中定義查詢方法:

import com.example.entity.User;
import java.util.List;
public interface UserMapper {
    @Select("SELECT * FROM user")
    List<User> selectAllUsers();
}

然后,在 Service 層或調(diào)用 Mapper 的地方使用 PageHelper 進行分頁查詢,示例代碼如下:

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.example.mapper.UserMapper;
import com.example.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;
    public PageInfo<User> getUserList(int pageNum, int pageSize) {
        // 設(shè)置分頁參數(shù),pageNum為當(dāng)前頁碼,pageSize為每頁顯示的記錄數(shù)
        PageHelper.startPage(pageNum, pageSize);
        // 執(zhí)行查詢
        List<User> userList = userMapper.selectAllUsers();
        // 使用PageInfo對查詢結(jié)果進行包裝,返回包含分頁信息的對象
        return new PageInfo<>(userList);
    }
}

在上述代碼中,PageHelper.startPage(pageNum, pageSize)方法用于設(shè)置分頁參數(shù),告訴 PageHelper 要查詢第幾頁以及每頁顯示多少條記錄。然后執(zhí)行查詢操作,PageHelper 會自動對查詢語句進行分頁處理,最后將查詢結(jié)果包裝成PageInfo對象返回。PageInfo對象包含了分頁相關(guān)的各種信息,如總記錄數(shù)、總頁數(shù)、當(dāng)前頁碼、每頁記錄數(shù)等,方便在前端進行分頁展示和相關(guān)邏輯處理。

 2.帶條件的分頁查詢

 如果查詢需要帶條件,例如根據(jù)用戶姓名進行模糊查詢并分頁。首先在 Mapper 接口中定義帶條件的查詢方法:

import com.example.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface UserMapper {
    @Select("SELECT * FROM user WHERE user_name LIKE #{name}")
    List<User> selectUsersByName(@Param("name") String name);
}

在 Service 層實現(xiàn)帶條件的分頁查詢,代碼如下:

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.example.mapper.UserMapper;
import com.example.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;
    public PageInfo<User> getUserListByName(String name, int pageNum, int pageSize) {
        // 設(shè)置分頁參數(shù)
        PageHelper.startPage(pageNum, pageSize);
        // 執(zhí)行帶條件的查詢
        List<User> userList = userMapper.selectUsersByName("%" + name + "%");
        // 返回分頁信息對象
        return new PageInfo<>(userList);
    }
}

 這樣我們就能簡單的使用pageHelper的分頁功能 ,詳細的使用可以參考文檔如何使用分頁插件

到此這篇關(guān)于Springboot整合mybatis-plus使用pageHelper進行分頁的文章就介紹到這了,更多相關(guān)Springboot整合mybatis-plus分頁內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解讀maven配置阿里云鏡像問題

    解讀maven配置阿里云鏡像問題

    這篇文章主要介紹了解讀maven配置阿里云鏡像問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • AsyncHttpClient?ChannelPool線程池頻道池源碼流程解析

    AsyncHttpClient?ChannelPool線程池頻道池源碼流程解析

    這篇文章主要為大家介紹了AsyncHttpClient ChannelPool線程池頻道池源碼流程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • 淺析Java中靜態(tài)代理和動態(tài)代理的應(yīng)用與區(qū)別

    淺析Java中靜態(tài)代理和動態(tài)代理的應(yīng)用與區(qū)別

    代理模式在我們生活中很常見,而Java中常用的兩個的代理模式就是動態(tài)代理與靜態(tài)代理,這篇文章主要為大家介紹了二者的應(yīng)用與區(qū)別,需要的可以參考下
    2023-08-08
  • 一文讓你搞懂如何手寫一個redis分布式鎖

    一文讓你搞懂如何手寫一個redis分布式鎖

    既然要搞懂Redis分布式鎖,那肯定要有一個需要它的場景。高并發(fā)售票問題就是一個經(jīng)典案例。本文就來利用這個場景手寫一個redis分布式鎖,讓你徹底搞懂它
    2022-11-11
  • java中如何調(diào)用js

    java中如何調(diào)用js

    Nashorn是Java8中引入的一個新的JavaScript引擎,它允許在JVM上運行JavaScript代碼,并且可以與Java代碼相互調(diào)用,Nashorn遵循JSR233規(guī)范,是一個純Java實現(xiàn)的JavaScript引擎,可以與Java程序無縫集成,提供動態(tài)腳本執(zhí)行和靈活性
    2025-01-01
  • 解決springboot錯誤:找不到或無法加載主類(配置編碼或者Maven)

    解決springboot錯誤:找不到或無法加載主類(配置編碼或者Maven)

    這篇文章主要介紹了解決springboot錯誤:找不到或無法加載主類(配置編碼或者Maven)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • java和 javaw 及 javaws的區(qū)別解析

    java和 javaw 及 javaws的區(qū)別解析

    這篇文章主要介紹了java和 javaw 及 javaws的區(qū)別解析,本文通過實例給大家詳細介紹,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • Spring Data Jpa實現(xiàn)分頁和排序代碼實例

    Spring Data Jpa實現(xiàn)分頁和排序代碼實例

    本篇文章主要介紹了Spring Data Jpa實現(xiàn)分頁和排序代碼實例,具有一定的參考價值,有興趣的可以了解一下。
    2017-03-03
  • 淺談Java安全之C3P0鏈利用與分析

    淺談Java安全之C3P0鏈利用與分析

    本文主要介紹了淺談Java安全之C3P0鏈利用與分析,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Spring Cache框架應(yīng)用介紹

    Spring Cache框架應(yīng)用介紹

    我們一定聽說過"緩存無敵"的話,特別是在大型互聯(lián)網(wǎng)公司,"查多寫少"的場景屢見不鮮。Spring Cache是作用在方法上的,其核心思想是,當(dāng)我們在調(diào)用一個緩存方法時會把該方法參數(shù)和返回結(jié)果作為一個鍵值對存在緩存中
    2022-09-09

最新評論