文档章节

Mybatis #{} 和 ${} 的区别

will--wang
 will--wang
发布于 2015/04/24 14:53
字数 243
阅读 364
收藏 1

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
下一篇: Mybatis框架初识
will--wang
粉丝 2
博文 51
码字总数 17570
作品 0
南京
高级程序员
私信 提问
mybatis 和 hibernate 区别?

最近面试遇到一个问题,面试官问你们项目使用 mybatis 还是 hibernate?我说当然使用现在主流的 mybatis 了。面试官继续问:为什么不使用 hibernate?说下原因,以及这两个框架的区别?........

举个_栗子
2017/11/02
0
0
Mybatis与Hibernate区别

以前没怎么用过mybatis,只知道与hibernate一样是个orm数据库框架。随着使用熟练度的增加,发现它与hibernate区别是非常大的,结合至今为止的经验,总结出以下几点: 1. hibernate是全自动,...

开源oschina
2014/04/11
0
1
Mybatis # 和 $ 的区别

感谢:http://www.cnblogs.com/dato/p/7027949.html 浅谈 Mybatis中的 ${ } 和 #{ }的区别 好了,真正做开发也差不多一年了。一直都是看别人的博客,自己懒得写,而且也不会写博客,今天就开...

zyx870805
2018/03/30
0
0
Mybatis 通用 Mapper 3.2.0 发布

最新版本3.2.0 - 2015-09-02 移除MapperInterceptor拦截器,以后不能在通过拦截器配置 增加mybatis-spring特殊支持,主要是根据mybatis-spring项目增加了下面两个类: tk.mybatis.spring.ma...

Liuzh_533
2015/09/02
13.6K
24
求javaWeb方向的大神们,关于mybatis的一些小问题,真的特别特别疑惑!

比较Hibernate和Mybatis的区别: 学到了关联这里我发现Hibernate和Mybatis的区别真是大的不得了,所以我过来想问问: ①还能和Hibernate时候让表自动生成吗? ②还能和Hibernate一样在配置文...

上帝爱众生
2015/03/31
85
1

没有更多内容

加载失败,请刷新页面

加载更多

TiDB 源码阅读系列文章(二十四)TiDB Binlog 源码解析

作者:姚维 TiDB Binlog Overview 这篇文章不是讲 TiDB Binlog 组件的源码,而是讲 TiDB 在执行 DML/DDL 语句过程中,如何将 Binlog 数据 发送给 TiDB Binlog 集群的 Pump 组件。目前 TiDB 在...

TiDB
24分钟前
1
0
Oracle第三方工具PLSQL注册码

注册码: Product Code:4t46t6vydkvsxekkvf3fjnpzy5wbuhphqz serial Number:601769 password:xs374ca 这个注册码是PLSQL 11版本通用的,刚刚在官网下载了最新版11.0.6版,用 此激活码成功...

小橙子的曼曼
26分钟前
1
0
深度学习为图片人物换装【python代码教程】

在观看本文之前,请答应我要善良。昨天预告了下,发现很多同学对这个模型都表示出兴趣,甚至有好多同学后台发来照片让我帮他们脱裤子。授人以鱼不如授人以渔,请这些同学好自为之~ 01效果演示...

阿里云官方博客
46分钟前
6
0
centos7安装RabbitMQ详细过程

由于RabbitMQ是基于Erlang语言开发,所以在安装RabbitMQ之前,需要先安装Erlang 1、环境: centos 7.1 内核版本3.10.0-229.el7.x86_64 Erlang 19.0.4版本 RabbitMQ 3.6.14版本 2、在线安装E...

秋至丶枫以落
今天
1
0
6个使用KeePassX保护密码的技巧

虽然安全是个深奥的主题,但是你可以遵循几个简单的日常习惯来减小攻击面。本文将解释确保密码信息安全的重要性,并给出如何充分利用KeePassX的建议。 日益互联的数字世界使安全成为一个重要...

Linux就该这么学
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部