文档章节

mybatis中# 和$ 符号的区别

anlve
 anlve
发布于 2017/06/27 11:32
字数 263
阅读 13
收藏 0

#{} 和${}都是在sql语句当中使用

区别在于

1.sql解析语句的时候会在#{}传入的数据加引号,而不会在${}加引号(显示的是原来的sql)

即:

#{}    select  * from table1 where id=#{id}  -->select * from table1 where id='2' 

${}    select * from table1 where id=${id} -->select * from table1 where id=2

2.也正是如此, #{}能够很大程度防止sql注入,而${}是元语句输出

3.$方式一般用于传入数据库对象,例如传入表名.一般能用#的就别用$

MyBatis排序时使用order by 动态参数时需要注意,用$而不是#

如:

select * from ${tableName} order by ${id} 这里需要传入表名和按照哪个列进行排序

加入传入table1、id 则语句为:select * from table1 order by id

如果是使用#{} 则变成了select * from 'table1' order by 'id' 我们知道这样就不对了。

参考借鉴:

http://blog.csdn.net/kobi521/article/details/16941403

http://www.cnblogs.com/teach/p/5685545.html

© 著作权归作者所有

共有 人打赏支持
anlve
粉丝 12
博文 151
码字总数 99147
作品 0
其它
其他
私信 提问
Mybatis--数据查询不出($与#的区别)

Mybatis在Oracle数据库中子查询查询不出数据的问题 一,问题描述 同样的SQL语句在程序中使用Mybatis查询不出结果,但是在PLSQL等数据库工具中是能 查询出结果的 二,解决方案 当 mybatis 遇到...

fajor
2015/09/16
1K
0
【MyBatis框架】MyBatis入门程序第二部分

我们通过写一个简单的MyBatis小项目来在实战中学习MyBatis,接着上一篇继续 我们开始实现需求中的添加和删除用户功能 (1)向数据库中添加用户数据 使用User.xml,加入添加用户的sql语句。 <!--...

Mysoft
2015/09/17
39
0
mybatis 中 #与$ 的区别?

#表示的是使用了预编译,可以防止sql注入。而$则不是。 使用#将传入的参数默认为字符串。而$则不会,传入的是什么就是什么。 $一般用于传入数据库对象,例如表名。 如果传入的是Date类型,则...

tank_99
2017/05/08
0
0
springboot:如何优雅的使用mybatis

这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis。到网上找了一下关于spring boot和myb...

Victor_Cindy1
2017/12/13
0
0
springboot(六):如何优雅的使用mybatis

这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis。到网上找了一下关于spring boot和myb...

ityouknow
2016/11/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

保护Hadoop集群三大方法

大约在两年前,开源数据库解决方案MongoDB以及Hadoop曾遭受过大量恶意攻击,这些攻击后被统称为“勒索软件”,因为其攻击者会擦除或加密数据,然后向被攻击者索要资金以恢复数据。自今年以来...

linuxCool
8分钟前
0
0
开源 java CMS - FreeCMS2.8会员我的留言

项目地址:http://www.freeteam.cn/ 我的留言 从左侧管理菜单点击我的留言进入。在这里可以查看当前登录会员的所有留言记录。 查看留言 点击留言标题可以查看留言详细内容。 删除留言 选择留...

freeteam
28分钟前
2
0
OSChina 周五乱弹 —— 这就是不要女朋友的理由

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @狄安娜的猫 :分享丁家鑫的单曲《丁家鑫 - 克罗地亚狂想曲 - 古筝remix》 《丁家鑫 - 克罗地亚狂想曲 - 古筝remix》 手机党少年们想听歌,请...

小小编辑
59分钟前
599
16
CentOS配置Tomcat监听80端口,虚拟主机

Tomcat更改默认端口为80 更改的配置文件是: /usr/local/tomcat/conf/server.xml [root@test-a ~]# vim /usr/local/tomcat/conf/server.xml # 找到 Connector port="8080" protocol="HTTP/1......

野雪球
今天
6
0
《稻盛和夫经营学》读后感心得体会3180字范文

《稻盛和夫经营学》读后感心得体会3180字范文: 一代日本经营之圣稻盛和夫凭借刻苦勤奋的精神以及深植于佛教的商业道德准则,成为了“佛系”企业家的代表人物。在《稻盛和夫经营学》“领导人...

原创小博客
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部