MyBatis动态插入和更新

320 阅读1分钟

用过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>