MyBatis 碰到的問(wèn)題

MyBatis 碰到的問(wèn)題

Mybatis之foreach遍歷Map

參考

    1. 接口中的方法
void batchInsertMap(@Param("studentMap") Map<Integer,Student> studentMap);
    1. 對(duì)應(yīng)Sql,使用entrySet(),注意 indexkey,itemvalue
<insert id="batchInsertMap" parameterType="java.util.Map">
    INSERT INTO student(id,username)
    VALUES
    <foreach collection="studentMap.entrySet()" index="key" item="value" separator=",">
        (#{key},#{value.username})
    </foreach>
</insert>

Mybatis中進(jìn)行批量更新

參考

    1. 接口中的方法
void batchUpdateMap(@Param("studentMap") Map<Integer,String> studentMap);
    1. 對(duì)應(yīng)SQL
<insert id="batchUpdateMap" parameterType="java.util.Map">
        update student
        <trim prefix="set" suffixOverrides=",">
            <trim prefix="username = case" suffix="end,">
                <foreach collection="studentMap.entrySet()" index="key" item="value">
                    when id= #{key} then #{value}
                </foreach>
            </trim>
            <trim prefix="salary = case" suffix="end,">
                <foreach collection="studentMap.entrySet()" index="key" item="value">
                    when id= #{key} then 100
                </foreach>
            </trim>
        </trim>
        where id in
        <foreach collection="studentMap.entrySet()" index="key" separator="," open="(" close=")">
            #{key}
        </foreach>
</insert>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容