项目用的 Mybatis,今天改一个需求,落地实现是批量更新,且只需要根据主键(id)来更新一个字段(name)。
于是,没有犹豫,像下面这样设计了数据结构:
既然是批量更新,那外层肯定是 List
List 中每个元素,只包含 id & name,于是,选择了用 org.apache.commons.lang3.tuple.Pair 来封装数据(就是不想自己再写一个 DO 或者 VO 或者 MO)
最终的数据结构是:List<Pair<Integer, String>>
XML 中的 Sql 语句,很简单,如下:
<update id="updateByApacheCommonsPair"> <foreach collection="list" separator=";" item="x"> UPDATE employee SET name = #{x.right} WHERE id = #{x.left} </foreach> </update>