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

解決Mybatis?mappe同時(shí)傳遞?List?和其他參數(shù)報(bào)錯(cuò)的問題

 更新時(shí)間:2024年09月11日 11:05:27   作者:嚴(yán)格格  
在使用MyBatis時(shí),如果需要傳遞多個(gè)參數(shù)到SQL中,可以遇到參數(shù)綁定問題,解決方法包括使用@Param注解和修改mapper.xml配置,感興趣的朋友跟隨小編一起看看吧

問題描述:

想要實(shí)現(xiàn)這個(gè)接口,同時(shí)傳入planId和projectPlans,屢次報(bào)錯(cuò)。好在一路坎坷,解決了多方bug,最后終于搞定了

 void insertList(@Param("planId") Integer planId, @Param("projectPlans") List<ProjectPlan> projectPlans);

1 剛開始爆綁定失敗

后來發(fā)現(xiàn)原來是我的xml文件沒有寫mapper后綴

2 多個(gè)參數(shù)傳值用@Param失敗

別人說用這個(gè),但是發(fā)現(xiàn)根本不行,

    void insertList(@Param("planId") Integer planId, @Param("projectPlans") List<ProjectPlan> projectPlans);
  <insert id="insertList"  parameterType="java.util.Map">
       insert into nursing_project_plan (plan_id,project_id,execute_time,execute_cycle,
       execute_frequency,create_by, update_by, create_time, update_time,remark) values
       <foreach collection="projectPlans" item="project" separator=",">
           (#{planId},#{project.projectId},#{project.executeTime},#{project.executeCycle},
           #{project.executeFrequency},#{project.createBy},#{project.updateBy},#{project.createTime},#{project.updateTime},#{project.remark}
           )
       </foreach>
   </insert>

解決思路

報(bào)錯(cuò)信息

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'customerIdList' not found. Available parameters are [arg0, collection, list]
解釋:

解釋:
當(dāng)我們傳遞一個(gè) List 實(shí)例或者數(shù)組作為參數(shù)對(duì)象傳給 MyBatis。當(dāng)你這么做的時(shí)候,MyBatis 會(huì)自動(dòng)將它包裝在一個(gè) Map 中,用名稱在作為鍵。List 實(shí)例將會(huì)以list 作為鍵,而數(shù)組實(shí)例將會(huì)以array作為鍵。所以,當(dāng)我們傳遞的是一個(gè)List集合時(shí),mybatis會(huì)自動(dòng)把我們的list集合包裝成以list為Key值的map。

錯(cuò)誤代碼:
mapper層

 void insertList(List<ProjectPlan>projectPlans );
//這個(gè)方法也是會(huì)錯(cuò) void insertList(List<ProjectPlan>projectPlans ,Integer planId);

xml層

   <insert id="insertList"  >
       insert into nursing_project_plan (plan_id,project_id,execute_time,execute_cycle,
       execute_frequency,create_by, update_by, create_time, update_time,remark) values
       <foreach collection="projectPlans" item="project" separator=",">
           (#{planId},#{project.projectId},#{project.executeTime},#{project.executeCycle},
           #{project.executeFrequency},#{project.createBy},#{project.updateBy},#{project.createTime},#{project.updateTime},#{project.remark}
           )
       </foreach>
   </insert>

解決方法

service層
(封裝成map)

  Map maps = new HashMap();
        maps.put("projectPlans", projectPlans);
        maps.put("planId", 2);
        nursingProjectPlanMapper.insertList(maps);

mapper層

void insertList( Map maps);

xml層

    <insert id="insertList" parameterType="java.util.Map">
        insert into nursing_project_plan (plan_id,project_id,execute_time,execute_cycle,
        execute_frequency,create_by, update_by, create_time, update_time,remark) values
        <foreach collection="projectPlans" item="project" separator=",">
            (#{planId},#{project.projectId},#{project.executeTime},#{project.executeCycle},
            #{project.executeFrequency},#{project.createBy},#{project.updateBy},#{project.createTime},#{project.updateTime},#{project.remark}
            )
        </foreach>
    </insert>

成功了

在這里插入圖片描述

到此這篇關(guān)于解決Mybatis mappe同時(shí)傳遞 List 和其他參數(shù)報(bào)錯(cuò)的問題的文章就介紹到這了,更多相關(guān)Mybatis mappe傳遞 List 報(bào)錯(cuò)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java之基本數(shù)據(jù)類型所對(duì)應(yīng)的包裝類使用

    java之基本數(shù)據(jù)類型所對(duì)應(yīng)的包裝類使用

    本文介紹了Java中的8種基本數(shù)據(jù)類型及其對(duì)應(yīng)的包裝類,包括包裝類的作用、自動(dòng)裝箱和拆箱機(jī)制、以及提供的一些實(shí)用方法
    2025-12-12
  • SpringBoot集成Redis消息隊(duì)列的實(shí)現(xiàn)示例

    SpringBoot集成Redis消息隊(duì)列的實(shí)現(xiàn)示例

    本文主要介紹了SpringBoot集成Redis消息隊(duì)列的實(shí)現(xiàn)示例,包括配置和消費(fèi)邏輯,RedisStream提供了高吞吐量、順序消費(fèi)和消費(fèi)組機(jī)制等優(yōu)勢,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-05-05
  • java 嵌套類的詳解及實(shí)例代碼

    java 嵌套類的詳解及實(shí)例代碼

    這篇文章主要介紹了java 嵌套類的詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Spring源碼解析之編程式事務(wù)

    Spring源碼解析之編程式事務(wù)

    今天給大家?guī)淼氖顷P(guān)于Java Spring的相關(guān)知識(shí),文章圍繞著Spring編程式事務(wù)展開,文中有非常詳細(xì)的介紹,需要的朋友可以參考下
    2021-06-06
  • springcloud注冊hostname或者ip的那些事

    springcloud注冊hostname或者ip的那些事

    Spring cloud是一個(gè)基于Spring Boot實(shí)現(xiàn)的服務(wù)治理工具包,在微服務(wù)架構(gòu)中用于管理和協(xié)調(diào)服務(wù)的。這篇文章主要介紹了springcloud注冊hostname或者ip,需要的朋友可以參考下
    2019-11-11
  • 淺談Java線程并發(fā)知識(shí)點(diǎn)

    淺談Java線程并發(fā)知識(shí)點(diǎn)

    本文主要對(duì)Java線程并發(fā)的知識(shí)點(diǎn)進(jìn)行簡單介紹。具有很好的參考價(jià)值,需要的朋友一起來看下吧
    2016-12-12
  • Java必踩的坑之方法中形參、實(shí)參傳遞

    Java必踩的坑之方法中形參、實(shí)參傳遞

    這篇文章主要給大家介紹了關(guān)于Java必踩的坑之方法中形參、實(shí)參傳遞的相關(guān)資料,以及Java 形參和實(shí)參的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • 關(guān)于Java中ArrayList的源碼分析

    關(guān)于Java中ArrayList的源碼分析

    這篇文章主要從源碼角度帶大家深入了解一下Java中ArrayList的構(gòu)造方法和屬性等知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-05-05
  • SpringBoot中@ConfigurationProperties 配置綁定

    SpringBoot中@ConfigurationProperties 配置綁定

    本文主要介紹了SpringBoot中@ConfigurationProperties 配置綁定,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • java多線程實(shí)現(xiàn)同步鎖賣票實(shí)戰(zhàn)項(xiàng)目

    java多線程實(shí)現(xiàn)同步鎖賣票實(shí)戰(zhàn)項(xiàng)目

    本文主要介紹了java多線程實(shí)現(xiàn)同步鎖賣票實(shí)戰(zhàn)項(xiàng)目,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01

最新評(píng)論

万山特区| 沙田区| 乌兰察布市| 乌拉特前旗| 南华县| 丽江市| 江西省| 普定县| 万州区| 东方市| 永胜县| 东兰县| 蕲春县| 石景山区| 雷山县| 东方市| 巴马| 喀什市| 陆良县| 阿尔山市| 浦城县| 县级市| 临沭县| 民县| 额尔古纳市| 安远县| 扶绥县| 绿春县| 泗阳县| 松潘县| 湄潭县| 临洮县| 小金县| 开阳县| 来宾市| 古丈县| 浦城县| 石河子市| 鸡西市| 宿迁市| 神池县|