今天遇到一个问题:
### 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注入检测机制.
因为#{}#这样的取值被认为存在风险。所以尽量的按照官方的文档取值方式即可。
改成#{}这样即可正常。

本文解决了一个更新数据库时遇到的SQL注入错误,通过调整SQL语句中变量的引用方式,从#{}

1万+

被折叠的 条评论
为什么被折叠?



