文档章节

Mybatis #{} 和 ${} 的区别

jsycwangwei
 jsycwangwei
发布于 2015/04/24 14:53
字数 317
阅读 834
收藏 1

精选30+云产品,助力企业轻松上云!>>>

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语句,比如要执行一个存储过程。


上一篇: CMMI
下一篇: HTML5 PPT
jsycwangwei
粉丝 2
博文 60
码字总数 20736
作品 0
南京
高级程序员
私信 提问
加载中
请先登录后再评论。

暂无文章

生日悖论是啥?我用它省了上百G的内存

生日悖论: 是指在不少于 23 个人中至少有两人生日相同的概率大于 50%。例如在一个 30 人的小学班级中,存在两人生日相同的概率为 70%。对于 60 人的大班,这种概率要大于 99%。从引起逻辑矛盾...

osc_i2zebhtf
9分钟前
0
0
【蓝桥杯】2018年第九届蓝桥杯C/C++B组省赛——C题 承压计算

题目 标题:承压计算X星球的高科技实验室中整齐地堆放着某批珍贵金属原料。每块金属原料的外形、尺寸完全一致,但重量不同。金属材料被严格地堆放成金字塔形。 ...

osc_knx03fpr
11分钟前
0
0
node.js/npm升级正确操作(windows和linux均有)

原文地址:https://www.wjcms.net/archives/nodejsnpm升级正确操作windows和linux均有 今天我们总结一下node.js以及npm升级的正确操作方法。 小编亲身经历可以用以下几步解决node版本问题及跳...

osc_7ac8o6u9
12分钟前
7
0
使用IDEA实现SSM整合(Maven+Spring+Mybatis+SpringMvc)

我是阿福,公众号「阿福聊编程」作者,一个在后端技术路上摸盘滚打的程序员,在进阶的路上,共勉! 文章已收录在 JavaSharing 中,包含Java技术文章,面试指南,资源分享。 本文是基于Maven...

阿福聊编程
12分钟前
9
0
手把手教你使用Python抓取QQ音乐数据(第四弹)

【一、项目目标】 通过手把手教你使用Python抓取QQ音乐数据(第一弹)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名、专辑名、播放链接。 通过手把手教你使用Python抓取QQ音乐...

osc_9na1lmr9
14分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部