MyBatis 转义符的特点有以下几点:
#{}
用于占位符,表示需要被替换的参数,会自动进行参数绑定和转义,可以防止 SQL 注入攻击。
${}
用于动态 SQL,会直接替换成参数的值,不会进行转义,需要谨慎使用以避免 SQL 注入风险。
<![CDATA[]]>
可以用于包裹任意 SQL 片段,防止 MyBatis 对 SQL 进行预处理,适用于复杂的 SQL 片段或者特殊字符。
\
可以用于转义字符,比如在 SQL 中使用单引号 '
或者百分号 %
,需要使用 \
进行转义。
总的来说,MyBatis 的转义符主要用于安全地传递参数和构建 SQL 语句,可以避免 SQL 注入攻击和处理特殊字符。