首页 > 数据库 > Oracle > oracle myintis 转义
{} 和 ${}区别
#{}在引用时,如果发现目标是一个字符串,则会将其值作为一个字符串拼接在sql上,即拼接时自动包裹引号
${}在引用时,即使发现目标是一个字符串,也不会作为字符串处理,拼接在sql时不会自动包裹引号
例如:
所以通常情况下,使用#{}
insert into user values (null,#{name},55); --> insert into user values (null,'fff',55);
insert into user values (null,${name},55); --> insert into user values (null,fff,55);//sql语句错误
1
2
而如果需要引用的是一个列名,使用${}
select * from user order by #{cname}; --> select * from user order by 'age';//sql语句错误
select * from user order by ${cname}; --> select * from user order by age;
————————————————
版权声明:本文为CSDN博主「baishancha」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/baishancha/article/details/94574127
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69949806/viewspace-2664710/ ,如需转载,请注明出处,否则将追究法律责任。