mybatis 之 uncategorized SQLException for SQL [: SQL state [99999]: error code [17104]
错误日志
- 错误形式一3
- 形式二
起初关于这个问题一直想通过错误码为入口进行问题排查,无奈源码阅读能力有限,一直没有弄明白错误码的生成原理,导致问题定位耗时较长。又苦于本地单元测试恰巧出问题,一直没发断点到源码追溯问题。纠结了一上午,加了日志查看执行sql前的list.传值。终于找到问题,是因为批量更新的脚本list传值为空,动态生成sql语句为空,mybatis报错!!!
sql脚本
<update id="batchUpdateSql" parameterType="java util. List">
<foreach item ="item" index="index" collection="list" separator=";" open="" close=";end:">
update table t
<set>
t. OPERATOR =#{item.operator},
t.prop_show=#{item.propShow},
t.UPDATED_BY =user,
t.DATE_UPDATED=sysdate
</set>
where t.code =#{item.code}
and t.is_delete="N"
</foreach>
</update>