目前情景如下,要根据唯一值id对两个参数进行更新。 之前是把所有需要更新的id放入list里然后逐条更新,但是那样效率太低。 因为需要跟新的内容不是一个定量,会有变化,所以就需要判断哪些id对应哪些content 然后把同一个content的id装进map里然后批量更新。
<update id="updateContentDetails" parameterType="java.util.HashMap"> UPDATE psm_content_detail <set> <if test="content!=null"> content = #{content}, </if> <if test="modifyTime != null"> modify_time = #{modifyTime} </if> </set> WHERE <if test="id != null"> id IN <foreach collection="id" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach> </if> </update>有时候放入map里时没有一个唯一值当 做key进行后面的对比,那么就把数据库中的两个字段拼接起来,用分隔符分隔当成一个唯一值来进行判断。 如果接下来还要进行判断,有需要的话可以再进行一次key的拼接。