MyBatis中#{}和${}的不同之处是什么呢?
下文笔者讲述MyBatis中#{}和${}的区别,如下所示:
#{}:
预编译处理
${}:
字符串替换
-----------------------------------------------------
Mybatis:
在处理#{}时,会将sql中的#{}替换为?号
调用 PreparedStatement 的 set 方法来赋值;
Mybatis:
在处理${}时
会将${}替换成变量的值,会产生Sql注入漏洞
-------------------------------------------------------
在mybatis中
笔者建议使用#{},
因为使用此预处理符号,可有效防止SQL注入使系统更安全
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


