Mybatis中#和$的区别
程序员文章站
2022-07-14 11:11:21
...
以两条SQL语句进行说明:
SELECT * FROM tab WHERE col=#{col};
SELECT * FROM tab WHERE col=${col};
#{}在预处理时,会把参数部分用一个占位符?代替,变成如下的 sql 语句:
SELECT * FROM tab WHERE col=?;
而${}在预处理时,会把参数直接拼在SQL语句里:
SELECT * FROM tab WHERE col='abc';
使用时,推荐使用#{},因为${}会有SQL注入的危险。