国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

后端項目開發(fā):分頁功能的實現(xiàn)(Mybatis+pagehelper)

這篇具有很好參考價值的文章主要介紹了后端項目開發(fā):分頁功能的實現(xiàn)(Mybatis+pagehelper)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

分頁查詢是項目中的常用功能,此處我們基于Mybatis對分頁查詢進行處理。

引入分頁依賴

<!-- pagehelper -->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.13</version>
</dependency>

1.分頁請求封裝

public class PageRequest {
    /**
     * 當(dāng)前頁碼
     */
    private int pageNum = 1;
    /**
     * 每頁數(shù)量
     */
    private int pageSize = 10;
    /**
     * 查詢參數(shù)
     */
    private Map<String, Object> params = new HashMap<>();
	//getter setter
}

2.分頁結(jié)果封裝

在http目錄下,新建PageResult類,我們用此類包裝分頁結(jié)果。文章來源地址http://www.zghlxwxcb.cn/news/detail-673551.html

/**
 * 分頁數(shù)據(jù)封裝類
 */
@Getter
@Setter
public class PageResult {
    /**
     * 當(dāng)前頁碼
     */
    private int pageNum;
    /**
     * 每頁數(shù)量
     */
    private int pageSize;
    /**
     * 記錄總數(shù)
     */
    private long totalSize;
    /**
     * 頁碼總數(shù)
     */
    private int totalPages;
    /**
     * 分頁數(shù)據(jù)
     */
    private List<?> content;
    //getter setter
}

3.分頁助手封裝

public class MybatisPageHelper {

    public static final String findPage = "findPage";

    /**
     * 分頁查詢, 約定查詢方法名為 “findPage”
     * @param pageRequest 分頁請求
     * @param mapper Dao對象,MyBatis的 Mapper
     * @return
     */
    public static PageResult findPage(PageRequest pageRequest, Object mapper) {
        return findPage(pageRequest, mapper, findPage);
    }

    /**
     * 調(diào)用分頁插件進行分頁查詢
     * @param pageRequest 分頁請求
     * @param mapper Dao對象,MyBatis的 Mapper
     * @param queryMethodName 要分頁的查詢方法名
     * @param args 方法參數(shù)
     * @return
     */
    @SuppressWarnings({ "unchecked", "rawtypes" })
    public static PageResult findPage(PageRequest pageRequest, Object mapper, String queryMethodName, Object... args) {
        // 設(shè)置分頁參數(shù)
        int pageNum = pageRequest.getPageNum();
        int pageSize = pageRequest.getPageSize();
        PageHelper.startPage(pageNum, pageSize);
        // 利用反射調(diào)用查詢方法
        Object result = ReflectionUtils.invoke(mapper, queryMethodName, args);
        return getPageResult(pageRequest, new PageInfo((List) result));
    }

    /**
     * 將分頁信息封裝到統(tǒng)一的接口
     * @param pageRequest
     * @return
     */
    private static PageResult getPageResult(PageRequest pageRequest, PageInfo<?> pageInfo) {
        PageResult pageResult = new PageResult();
        BeanUtils.copyProperties(pageInfo,pageResult);
        return pageResult;
    }
}

到了這里,關(guān)于后端項目開發(fā):分頁功能的實現(xiàn)(Mybatis+pagehelper)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Vue+SpringBoot項目開發(fā):登錄頁面美化,登錄功能實現(xiàn)(三)

    Vue+SpringBoot項目開發(fā):登錄頁面美化,登錄功能實現(xiàn)(三)

    上一章寫了從零開始Vue+SpringBoot后臺管理系統(tǒng):Vue3+TypeScript項目搭建 Vue+TypeScript的前端項目已經(jīng)搭建完成了 這一章的內(nèi)容是引入element-plus和axios實現(xiàn)頁面的布局和前后端數(shù)據(jù)的串聯(lián),實現(xiàn)一個登陸的功能,跳轉(zhuǎn)到首頁 現(xiàn)在前端項目的一個結(jié)構(gòu)目錄 在src/main.js中加入element-plus

    2024年02月13日
    瀏覽(16)
  • 后端項目開發(fā):集成日志

    SpringBoot 默認選擇的是slf4j做日志門面,logback做日志實現(xiàn)。由于log4j有性能問題,不建議使用。 由于log4j2的表現(xiàn)性能更好,我們需要集成log4j2,同時排除舊的日志實現(xiàn)包。 添加log4j2.xml配置文件

    2024年02月11日
    瀏覽(14)
  • 【易售小程序項目】修改“我的”界面前端實現(xiàn);查看、重新編輯、下架自己發(fā)布的商品【后端基于若依管理系統(tǒng)開發(fā)】

    【易售小程序項目】修改“我的”界面前端實現(xiàn);查看、重新編輯、下架自己發(fā)布的商品【后端基于若依管理系統(tǒng)開發(fā)】

    界面的實現(xiàn)使用了一張png圖片,圖片直接使用PS制作一張即可,資源下載可以查看易售小程序我的界面上方背景 將圖片放到項目的靜態(tài)資源文件夾下面 使用下方的代碼來設(shè)置頁面的背景圖片 要想實現(xiàn)元素懸浮在背景圖片上面的感覺,只需要修改一下元素的透明度即可,如下

    2024年02月09日
    瀏覽(24)
  • 后端開發(fā)1.項目的搭建

    創(chuàng)建maven項目 pom文件

    2024年02月14日
    瀏覽(20)
  • 后端項目開發(fā):整合全局異常處理

    新建exception目錄,用來進行自定義的全局異常處理。 (1)新建自定義的GlobalException基 類繼承RuntimeException類,我們自定義的異常類全部需要繼承GlobalException基類進行處理。 這里我們直接利用之前定義的錯誤碼接口類。 (2)在exception目錄下,新建GlobalExceptionHandler類,攔截異

    2024年02月11日
    瀏覽(23)
  • 后端項目開發(fā):整合redis緩存

    因為各種場合比如門戶和后臺,需要不同的redis配置,我們在common包配置通用的reids配置。 1.新建service目錄,建立RedisService服務(wù)接口,同時編寫工具類實現(xiàn)該接口。 2.在config目錄下,編寫redis通用配置 3.其他包只需要繼承該基礎(chǔ)配置就夠了

    2024年02月11日
    瀏覽(22)
  • Servlet+JDBC實戰(zhàn)開發(fā)書店項目講解第10篇:在線客服功能實現(xiàn)

    要實現(xiàn)在線客服功能,您可以考慮以下步驟: 創(chuàng)建一個用于存儲客戶消息和回復(fù)的數(shù)據(jù)庫表。您可以使用JDBC連接到數(shù)據(jù)庫,并使用SQL語句創(chuàng)建表格。 在您的Servlet中,創(chuàng)建一個用于處理客戶消息和回復(fù)的POST請求的端點。您可以使用HttpServletRequest對象獲取客戶端發(fā)送的消息,

    2024年02月12日
    瀏覽(16)
  • 后端項目開發(fā):集成Druid數(shù)據(jù)源

    Druid作為連接池中間件可以監(jiān)控數(shù)據(jù)庫訪問性能,對數(shù)據(jù)庫密碼加密,查看SQL執(zhí)行日志,擴展JDBC。 添加依賴 參考官方文檔:https://github.com/alibaba/druid/wiki 更多配置參考:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter 啟動應(yīng)用:訪問http://localhost:8001/druid/login.html查看監(jiān)

    2024年02月11日
    瀏覽(20)
  • lv6 嵌入式開發(fā)-Flappy bird項目(信號機制、定時器功能實現(xiàn))

    lv6 嵌入式開發(fā)-Flappy bird項目(信號機制、定時器功能實現(xiàn))

    目錄 1 信號(signal) 2 設(shè)置信號響應(yīng)方式 – signal 3 設(shè)置定時器 4 示例 問題: getch()阻塞獲取鍵盤按鍵輸入, 怎么操作才能不影響小鳥下落和管道移動? getch如果阻塞,下面的程序都是無法執(zhí)行。通過信號機制方式實現(xiàn)。 在Linux中,軟中斷信號(signal,簡稱為信號)是在軟件層

    2024年02月07日
    瀏覽(82)
  • 后端項目開發(fā):工具類封裝(序列化、反射)

    根據(jù)《阿里巴巴開發(fā)規(guī)范》,包名使用單數(shù),類名可以使用復(fù)數(shù)。 所以generic-common創(chuàng)建util包和utils工具類 很多時候我們需要將接收到的json數(shù)據(jù)轉(zhuǎn)換為對象,或者將對象轉(zhuǎn)為json存儲。這時候我們需要編寫用于json轉(zhuǎn)換的工具類。 新建util目錄,再創(chuàng)建JacksonUtils類

    2024年02月11日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包