xml
<mapper namespace="com.example.EmployeeMapper">
<!-- 更新employee_absent_resign_statistics表中的pre_work_date -->
<update id="updatePreWorkDate">
<![CDATA[
UPDATE employee e1
JOIN employee e2
ON e2.statistics_date < e1.statistics_date
AND e2.emplid = e1.emplid
SET e1.pre_work_date = e2.statistics_date
WHERE NOT EXISTS (
SELECT 1
FROM employee_absent_resign_statistics e3
WHERE e3.statistics_date < e1.statistics_date
AND e3.emplid = e1.emplid
AND e3.statistics_date > e2.statistics_date
)
]]>
</update>
</mapper>
<![CDATA[]]>:为了避免 XML 中的特殊字符(如 < 和 >)被当作 XML 标签处理,我们使用 <![CDATA[]]>
来包裹 SQL 查询,这样就可以直接写 SQL 语句而不受 XML 特殊字符的限制。
SQL语句本身:直接将原来的 SQL 语句放在 <![CDATA[]]> 中,保持原有的 SQL 逻辑不变。