博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mybatis #{} 和 ${} 的区别
阅读量:7210 次
发布时间:2019-06-29

本文共 451 字,大约阅读时间需要 1 分钟。

hot3.png

1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id".

 

2. $将传入的数据直接显示生成在sql中。如:order by $user_id$,如果传入的值是111,那么解析成sql时的值为order by user_id,  如果传入的值是id,则解析成的sql为order by id.

 

3. #方式能够很大程度防止sql注入。

 

4.$方式无法防止Sql注入。

 

5.$方式一般用于传入数据库对象,例如传入表名. 

 

6.一般能用#的就别用$. 

ps:在使用mybatis中还遇到<![CDATA[]]>的用法,在该符号内的语句,将不会被当成字符串来处理,而是直接当成sql语句,比如要执行一个存储过程。

转载于:https://my.oschina.net/jsycwangwei/blog/405909

你可能感兴趣的文章
柏林纪行(中):Node.js Collaboration Summit
查看>>
IT网络通信大变革时代来临 2016中国极客大奖为您找到风向标
查看>>
如何下载WDK
查看>>
硬纪元干货|镁客网萨向东:推动硬科技产业落地,助力传统产业升
查看>>
SSDT&Shadow Hook的实现,完整代码。可编译
查看>>
Spring4-自动装配Beans-通过注解@Autowired在构造方法上
查看>>
MapReduce编程(四) 求均值
查看>>
ASP.NET MVC在IIS6下部署的小技巧
查看>>
asp.net 递归删除文件夹及其子文件夹和所有文件[转]
查看>>
TCP端口状态说明ESTABLISHED、TIME_WAIT、 CLOSE_WAIT
查看>>
Bengio:我留在学术圈为全人类作贡献,而不是为某一个公司赚钱
查看>>
100多个经典常用的PHP功能插件大全实例演示和下载
查看>>
Mac 下iterm2配色方案(高亮)及显示分支
查看>>
使用<meta>来刷新网页效果
查看>>
VR为难民发声,传递人道主义精神
查看>>
基准测试工具
查看>>
遇到的几个开机启动故障
查看>>
NEC向格鲁吉亚提供基于面部识别技术的城市监控系统
查看>>
linux网络编程之-----基础理论篇
查看>>
加大Linux服务器的文件描述符
查看>>