用过MyBatis的人同学们都知道功能很强大,但是有些潜在的功能,很多童鞋们相信没有遇到过哦,列举2点
一、动态插入:
直接上代码:
<!--添加设备台账信息,params.keys 指的是map里面所有的key,item="key" key代表map的值-->
<insert id="addDeviceByDeviceId">
insert into DeviceNewInfoParam
<foreach collection="params.keys" item="key" open="(" close=")"
separator=",">
${key}
</foreach>
values
<!--添加设备台账信息,params.keys 指的是map里面所有的value,item="value" key代表map的值-->
<foreach collection="params.values" item="value" open="("
close=")" separator=",">
#{value}
</foreach>
</insert>
二、动态更新:
<!--更新设备台账信息 deviceId,params代表map,item代表map里面的value,index代表map里面的key-->
<update id="updateByDeviceId">
update DeviceNewInfoParam
set
<foreach collection="params" item="iValue" index="key"
separator=",">
${key}=#{iValue}
</foreach>
where DeviceId=#{deviceId}
</update>