今天遇到一个问题:
### Error updating database. Cause: java.sql.SQLException: sql injection violation, comment not allow
我的SQL 如下:
update xxx
<set>
<if test="availCount != null">
a = a + #{a},
</if>
b = b + 1
</set>
WHERE
a + #{a}# > 0
AND b = #{b}
原来是driud的WallProvider提供的SQL注入检测机制.
因为#{}#这样的取值被认为存在风险。所以尽量的按照官方的文档取值方式即可。
改成#{}这样即可正常。