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

解決Mybatis的@Param()注解導(dǎo)致分頁(yè)失效的問(wèn)題

 更新時(shí)間:2021年04月13日 10:56:21   作者:小妖云汐  
這篇文章主要介紹了解決Mybatis的@Param()注解導(dǎo)致分頁(yè)失效的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

@Param注解導(dǎo)致分頁(yè)失效—分頁(yè)攔截器

問(wèn)題描述

在使用mybatis分頁(yè)時(shí),使用@Param注解傳入了兩個(gè)對(duì)象,分頁(yè)失效,查詢出的總是全部的數(shù)據(jù)。
出現(xiàn)問(wèn)題時(shí),分頁(yè)策略為:分頁(yè)攔截器實(shí)現(xiàn)的分頁(yè)

錯(cuò)誤寫法】

service寫法:

public Page<Entity> getByNidAndEntity(Page<Entity> page,String nid,Entity entity){
       entity.setPage(page);
       page.setList(dao.getByNidAndEntity(nid,entity));
       return page;
}

dao方法聲明:

List<Entity> getByNidAndEntity(@Param("nid") String nid,@Param("entity")Entity entity);

mapper.xml中的sql:

<select id="getByNidAndEntity" resultType="Entity">
      select <include refid="entityColumns" />
      from entity_table et left join other_table ot on et.id = ot.eid
      where ot.nid = #{nid} 
      and et.name = #{entity.name} and et.remarks = #{entity.remarks}
</select>

原因解析

關(guān)鍵原因】

  • 根源問(wèn)題在于:在PaginationInterceptor中,分頁(yè)對(duì)象Page被解析為null,導(dǎo)致的分頁(yè)失效
  • 由于@Param會(huì)將參數(shù)封裝到ParamMap中,而page對(duì)象在實(shí)體類entity中,導(dǎo)致convertParameter方法返回的page對(duì)象為null

在這里插入圖片描述

mybatis原碼:@Param將參數(shù)封裝到ParamMap】

跟蹤源碼進(jìn)入:org.apache.ibatis.binding.MapperMethod.class

在這里插入圖片描述

進(jìn)入executeForMany方法:

在這里插入圖片描述

進(jìn)入convertArgsToSqlCommandParam方法,可以看到參數(shù)封裝到ParamMap中:

在這里插入圖片描述

解決辦法

  • 不使用@Param注解:在傳遞多個(gè)參數(shù)(或是多個(gè)javaBean)時(shí),可以使用一個(gè)包含page屬性的實(shí)體類進(jìn)行封裝
  • 使用@Param注解:根據(jù)需求修改BaseInterceptor類中的convertParameter方法,使得解析page對(duì)象不為null即可

到此這篇關(guān)于解決Mybatis的@Param()注解導(dǎo)致分頁(yè)失效的問(wèn)題的文章就介紹到這了,更多相關(guān)Mybatis分頁(yè)失效內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot中的Bean注入問(wèn)題

    SpringBoot中的Bean注入問(wèn)題

    SpringBoot開發(fā)中,Bean注入是關(guān)鍵,涉及構(gòu)造函數(shù)注入、Setter注入和字段注入等方法,常見(jiàn)問(wèn)題包括Bean未找到、循環(huán)依賴、多個(gè)實(shí)現(xiàn)注入等,推薦使用構(gòu)造函數(shù)注入以增強(qiáng)代碼測(cè)試性和維護(hù)性,并關(guān)注Bean的生命周期和作用域
    2024-09-09
  • SpringBoot集成MQTT實(shí)現(xiàn)交互服務(wù)通信

    SpringBoot集成MQTT實(shí)現(xiàn)交互服務(wù)通信

    MQTT非常適用于物聯(lián)網(wǎng)領(lǐng)域,本文主要介紹了SpringBoot集成MQTT實(shí)現(xiàn)交互服務(wù)通信,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • Java實(shí)現(xiàn)MD5加密的方法

    Java實(shí)現(xiàn)MD5加密的方法

    這篇文章主要介紹了Java實(shí)現(xiàn)MD5加密的方法,實(shí)例分析了基于java實(shí)現(xiàn)md5加密的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • SpringBoot Web開發(fā)之系統(tǒng)任務(wù)啟動(dòng)與路徑映射和框架整合

    SpringBoot Web開發(fā)之系統(tǒng)任務(wù)啟動(dòng)與路徑映射和框架整合

    這篇文章主要介紹了SpringBoot Web開發(fā)中的系統(tǒng)任務(wù)啟動(dòng)與路徑映射和Servlet、Filter、Listener框架整合,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • restTemplate實(shí)現(xiàn)跨服務(wù)API調(diào)用方式

    restTemplate實(shí)現(xiàn)跨服務(wù)API調(diào)用方式

    這篇文章主要介紹了restTemplate實(shí)現(xiàn)跨服務(wù)API調(diào)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2023-07-07
  • java自定義線程模型處理方法分享

    java自定義線程模型處理方法分享

    本文給大家總結(jié)分享了下個(gè)人關(guān)于java處理自定義線程模型的一些經(jīng)驗(yàn)和處理方法,有需要的小伙伴可以參考下
    2016-08-08
  • 10個(gè)Java解決內(nèi)存溢出OOM的方法詳解

    10個(gè)Java解決內(nèi)存溢出OOM的方法詳解

    在Java開發(fā)過(guò)程中,有效的內(nèi)存管理是保證應(yīng)用程序穩(wěn)定性和性能的關(guān)鍵,不正確的內(nèi)存使用可能導(dǎo)致內(nèi)存泄露甚至是致命的OutOfMemoryError(OOM),下面我們就來(lái)學(xué)習(xí)一下有哪些解決辦法吧
    2024-01-01
  • SpringBoot整合EasyExcel?3.x的完整示例

    SpringBoot整合EasyExcel?3.x的完整示例

    EasyExcel 是一個(gè)基于 Java 的、快速、簡(jiǎn)潔、解決大文件內(nèi)存溢出的 Excel 處理工具,它能讓你在不用考慮性能、內(nèi)存的等因素的情況下,快速完成 Excel 的讀、寫等功能,這篇文章主要介紹了SpringBoot整合EasyExcel3.x的過(guò)程,需要的朋友可以參考下
    2023-07-07
  • Java dom4j生成與解析XML案例詳解

    Java dom4j生成與解析XML案例詳解

    這篇文章主要介紹了Java dom4j生成與解析XML案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 關(guān)于java中Map的九大問(wèn)題分析

    關(guān)于java中Map的九大問(wèn)題分析

    這篇文章主要為大家詳細(xì)分析了關(guān)于java中Map的九大問(wèn)題,感興趣的小伙伴們可以參考一下
    2016-08-08

最新評(píng)論

绵阳市| 卓尼县| 肇州县| 鸡东县| 仁寿县| 巴林左旗| 东海县| 鄂托克旗| 玛沁县| 施甸县| 合作市| 巴塘县| 肥乡县| 周至县| 桦川县| 胶南市| 和龙市| 广东省| 高陵县| 拉孜县| 逊克县| 新宾| 盐源县| 大连市| 永靖县| 金沙县| 泾阳县| 馆陶县| 泗洪县| 遂宁市| 瑞安市| 海伦市| 松滋市| 永城市| 华池县| 涪陵区| 德安县| 耒阳市| 温宿县| 鸡泽县| 兴宁市|