myBatis如何取Map里的值

该文章介绍了一种在Mapper层中通过传递map参数,利用foreach标签来更新student_no的情况。updateId为updateStudentNoByMap,在SQL语句中,根据map的key和value动态设置条件,其中key作为index,value作为item。在where子句中遍历map的key集合,构建条件。这种方法常用于批量更新操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    <update id="updateStudentNoByMap">
        update t_student set student_no = case
            <foreach collection="map" index="key" item="value">
                when student_no = ${key} then #{value}
            </foreach>
        end
        <where>
            student_no in
            <foreach collection="map.keySet()" item="key" open="(" close=")" separator=",">
                #{key}
            </foreach>
        </where>
    </update>

mapper层传递参数map 使用foreach 同时取key和value  ,key放到index属性中,value放到item中取key的时候使用  $  !!!

只需要取key时collection放map.keySet(),key放到item中 使用#取key

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值