中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mybatis 傳遞參數類型為List的取值如何解決

發布時間:2020-10-28 00:01:40 來源:億速云 閱讀:481 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關Mybatis 傳遞參數類型為List的取值如何解決,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

問題描述:

參數傳遞為List時:

當傳遞一個 List 實例或者數組作為參數對象傳給 Mybatis。此時,Mybatis 會自動將它包裝在一個 Map 中,用名稱在作為鍵。List 實例將會以“list” 作為鍵,而數組實例將會以“array”作為鍵。所以,當我們傳遞的是一個List集合時,mybatis會自動把我們的list集合包裝成以list為Key值的map。

DAO 層:

List<User> selectUserByIDs( List IDs);

XML文件:

<select id="selectUserByIDs" parameterType="java.util.List" resultType="user">
    select * from user
    <where>
      <if test="IDs != null and IDs.size() >0">
        <foreach collection="IDs" open=" and id in (" close=")" item="uid" separator=",">
          #{uid}
        </foreach>
      </if>
    </where>
</select>

報錯信息:

org.apache.ibatis.binding.BindingException: Parameter ‘IDs' not found. Available parameters are [collection, list]

解決方法:

方法一:將我們的XML中collection屬性值直接設置為list

DAO 層:

List<User> selectUserByIDs( List IDs);

XML文件:

<select id="selectUserByIDs" parameterType="java.util.List" resultType="user">
    select * from user
    <where>
      <if test="list != null and list.size() >0">
        <foreach collection="list" open=" and id in (" close=")" item="uid" separator=",">
          #{uid}
        </foreach>
      </if>
    </where>
</select>

方法二: 利用注解@Param指定我們的入參名稱

DAO層:

List<User> selectUserByIDs(@Param("IDs") List IDs);

XML文件:

<select id="selectUserByIDs" parameterType="java.util.List" resultType="user">
    select * from user
    <where>
      <if test="IDs != null and IDs.size() >0">
        <foreach collection="IDs" open=" and id in (" close=")" item="uid" separator=",">
          #{uid}
        </foreach>
      </if>
    </where>
</select>

看完上述內容,你們對Mybatis 傳遞參數類型為List的取值如何解決有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武冈市| 绥芬河市| 手机| 富锦市| 太谷县| 通辽市| 刚察县| 泸定县| 黄山市| 比如县| 驻马店市| 石台县| 金门县| 布尔津县| 绥芬河市| 胶州市| 平凉市| 上杭县| 宝丰县| 普定县| 绥江县| 湟中县| 观塘区| 连山| 定西市| 鄯善县| 元氏县| 金寨县| 行唐县| 静宁县| 连城县| 滦南县| 通城县| 喀什市| 淄博市| 文山县| 吉水县| 永平县| 尚义县| 浏阳市| 香格里拉县|