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

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

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

問(wèn)題描述:

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

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

1 剛開(kāi)始爆綁定失敗

后來(lái)發(fā)現(xiàn)原來(lái)是我的xml文件沒(méi)有寫(xiě)mapper后綴

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

別人說(shuō)用這個(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]
解釋?zhuān)?/p>

解釋?zhuān)?/strong>
當(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ò)的問(wèn)題的文章就介紹到這了,更多相關(guān)Mybatis mappe傳遞 List 報(bào)錯(cuò)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

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

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

    本文介紹了Java中的8種基本數(shù)據(jù)類(lèi)型及其對(duì)應(yīng)的包裝類(lèi),包括包裝類(lèi)的作用、自動(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)勢(shì),具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-05-05
  • java 嵌套類(lèi)的詳解及實(shí)例代碼

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

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

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

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

    springcloud注冊(cè)hostname或者ip的那些事

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

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

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

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

    這篇文章主要給大家介紹了關(guān)于Java必踩的坑之方法中形參、實(shí)參傳遞的相關(guān)資料,以及Java 形參和實(shí)參的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(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 配置綁定,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • java多線程實(shí)現(xiàn)同步鎖賣(mài)票實(shí)戰(zhàn)項(xiàng)目

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

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

最新評(píng)論

蓬溪县| 博湖县| 平泉县| 城口县| 晋宁县| 息烽县| 砚山县| 青浦区| 绥宁县| 灵川县| 黄骅市| 宕昌县| 阿克苏市| 松江区| 遵义市| 资溪县| 财经| 仪陇县| 剑川县| 舟山市| 土默特左旗| 铁岭市| 云龙县| 格尔木市| 苍梧县| 朝阳区| 寻乌县| 德安县| 哈巴河县| 稻城县| 广平县| 巢湖市| 枞阳县| 巴塘县| 石屏县| 玛沁县| 廊坊市| 讷河市| 康平县| 仪征市| 龙泉市|