既然${}可能会造成SQL注入,为什么还需要用,或者为什么还保留它?

为什么还保留${}

在项目实际开发中可能会有这么一个需求,开发者不知道实际操作数据库中具体是哪
一张表,可能会通过一系列的判断来动态的获取到要操作的表名,此时如果要用#{}
的方式来处理SQL就会出现以下情况:
select * from #{tableName} where......
这样的SQL处理完成后就会变成select * from "tableName" where......
很显然,这样是不行的,表名是不能用双引号括起来的,如果使用${}方式的话,SQL
处理完成后select * from tableName where......,这样这段SQL就能正常执行
了。

版权声明:本文为weixin_41072572原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。