<update id="updateDeptChildren" parameterType="java.util.List"> update sys_dept set ancestors = <foreach collection="depts" item="item" index="index" separator=" " open="case dept_id" close="end"> when #{item.deptId} then #{item.ancestors} </foreach> where dept_id in <foreach collection="depts" item="item" index="index" separator="," open="(" close=")"> #{item.deptId} </foreach> </update>什么意思
时间: 2023-12-05 14:13:18 浏览: 76
MyBatis-03动态SQL-01.<if>元素的使用
这是一个 MyBatis 的 SQL 更新语句,其目的是更新 sys_dept 表中的多个部门的祖先节点信息。具体来说,该 SQL 语句接受一个 List 类型的参数 depts,该 List 包含多个部门信息。该 SQL 语句会依次遍历 depts 中的每个部门信息 item,然后使用 case when 结构将该部门 item 的祖先节点信息更新到 sys_dept 表中。最后,该 SQL 语句会更新 depts 中所有部门的祖先节点信息,并且仅更新 depts 中包含的部门信息。
阅读全文