文档章节

mybatis中的#号与$符号的区别

jason_kiss
 jason_kiss
发布于 2017/02/15 22:57
字数 230
阅读 35
收藏 0

#{变量名}可以进行预编译、类型匹配等操作,#{变量名}会转化为jdbc的类型。
select * from tablename where id = #{id}
假设id的值为12,其中如果数据库字段id为字符型,那么#{id}表示的就是'12',如果id为整型,那么id就是12,并且MyBatis会将上面SQL语句转化为jdbc的select * from tablename where id=?,把?参数设置为id的值。
${变量名}不进行数据类型匹配,直接替换。
select * from tablename where id = ${id}
如果字段id为整型,sql语句就不会出错,但是如果字段id为字符型, 那么sql语句应该写成select * from table where id = '${id}'。
#方式能够很大程度防止sql注入。
$方式无法方式sql注入。
$方式一般用于传入数据库对象,例如传入表名。
尽量多用#方式,少用$方式。

© 著作权归作者所有

共有 人打赏支持
jason_kiss
粉丝 9
博文 88
码字总数 49671
作品 0
浦东
程序员
Mybatis--数据查询不出($与#的区别)

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

fajor
2015/09/16
1K
0
mybatis在xml文件中处理大于号小于号的方法

mybatis在xml文件中处理大于号小于号的方法 第一种方法: 用了转义字符把>和<替换掉,然后就没有问题了。 SELECT * FROM test WHERE 1 = 1 AND start_date <= CURRENT_DATE AND end_date >= ...

风中帆
2015/02/24
0
0
Mybatis3.4.x技术内幕(十八):Mybatis之动态Sql设计原本(下)

上一篇博文中,简要介绍了Mybatis动态sql的基本用法和基本设计结构,本篇博文重点阐述一些动态sql的技术细节,#{name}和${name}的区别,将在本篇博文中揭晓。也许读者早已了解它们之间的区别...

祖大俊
2016/08/21
613
1
【mybatis】mapper中SQL语句关于大小比较的转义

最近在写mybatis中的sql的时候碰到了一些问题,就是关于时间格式的比较,相信大家在mybatis中写sql的时候也遇到过这些问题,现在来总结一下这些问题。 我们通常在写一些sql的时候可能会碰到一...

tr1912
02/04
0
0
【MyBatis框架】MyBatis入门程序第二部分

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

Mysoft
2015/09/17
39
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

困扰当前数据中心管理的三大难题

导读 当企业发展到一定程度,或者之前的机房不能满足现在的数据中心使用时,企业会对数据中心进行迁移。那么在数据中心进行迁移的时候会遇到哪些风险呢?针对这些风险我们应该做出怎样的措施来...

问题终结者
4分钟前
0
0
设计模式:工厂方法模式(工厂模式)

工厂方法模式才是真正的工厂模式,前面讲到的静态工厂模式实际上不能说是一种真正意义上的设计模式,只是一种变成习惯。 工厂方法的类图: 这里面涉及到四个种类: 1、抽象产品: Product 2、...

京一
20分钟前
0
0
区块链和数据库,技术到底有何区别?

关于数据库和区块链,总会有很多的困惑。区块链其实是一种数据库,因为他是数字账本,并且在区块的数据结构上存储信息。数据库中存储信息的结构被称为表格。但是,区块链是数据库,数据库可不...

HiBlock
27分钟前
0
0
react native 开发碰到的问题

react-navigation v2 问题 问题: static navigationOptions = ({navigation, navigationOptions}) => ({ headerTitle: ( <Text style={{color:"#fff"}}>我的</Text> ), headerRight: ( <View......

罗培海
34分钟前
0
0
Mac Docker安装流程

久仰Docker大名已久,于是今天趁着有空,尝试了一下Docker 先是从docker的官网上下载下来mac版本的docker安装包,安装很简易,就直接拖图标就好了。 https://www.docker.com/products/docker...

writeademo
42分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部