文档章节

mybatis中# 和$ 符号的区别

anlve
 anlve
发布于 2017/06/27 11:32
字数 263
阅读 12
收藏 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
博文 201
码字总数 160041
作品 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

没有更多内容

加载失败,请刷新页面

加载更多

虚拟机学习之二:垃圾收集器和内存分配策略

1.对象是否可回收 1.1引用计数算法 引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时候计数器值为0的对象就是不可能...

贾峰uk
27分钟前
0
0
smart-doc功能使用介绍

smart-doc从8月份底开始开源发布到目前为止已经迭代了几个版本。在这里非常感谢那些敢于用smart-doc去做尝试并积极提出建议的社区用户。因此决定在本博客中重要说明下smart-doc的功能,包括使...

上官胡闹
昨天
2
0
JavaEE——Junit

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 Junit Junit又名单元测试,Junit是用来测试Jav...

凯哥学堂
昨天
1
0
读《美丽新世界》

一、背景 十一国庆节从重庆回深圳的时候,做得绿皮车,路上看了两本书:李笑来的《韭菜的自我修养》和禁书《美丽新世界》。 上篇文章已经分享了 读《韭菜的自我修养》,这篇文章来记录一下《...

tiankonguse
昨天
1
0
archlinux下基于Jenkins,docker实现自动化部署(持续交互)

本文永久更新地址:https://my.oschina.net/bysu/blog/2250954 【若要到岸,请摇船:开源中国 不最醉不龟归】 -----------------------------------第一部分Jenkins的安装与使用-----------...

不最醉不龟归
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部