MyBatis两种占位符的区别

shuyepl 2023-03-25 13:35:15
Categories: Tags:

区别

使用#{}的时候会先进行SQL语句的编译,然后再给SQL语句的占位符?传值(如果是字符串的话,会带上‘’),底层使用的是PreparedStatement,可以避免SQL注入。

${}是先进行字符串的拼接,然后再进行SQL语句的编译,有SQL注入的风险,底层使用Statement。

平常的时候建议使用#{},除非有特殊的要求。

使用${}的情况


参考资料: