文档章节

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
粉丝 12
博文 93
码字总数 52682
作品 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

没有更多内容

加载失败,请刷新页面

加载更多

Spring源码学习笔记-1-Resource

打算补下基础,学习下Spring源码,参考书籍是《Spring源码深度解析》,使用版本是Spring 3.2.x,本来想试图用脑图记录的,发现代码部分不好贴,还是作罢,这里只大略记录下想法,不写太细了 ...

zypy333
57分钟前
10
0
RestClientUtil和ConfigRestClientUtil区别说明

RestClientUtil directly executes the DSL defined in the code. ConfigRestClientUtil gets the DSL defined in the configuration file by the DSL name and executes it. RestClientUtil......

bboss
今天
16
0

中国龙-扬科
昨天
2
0
Linux系统设置全局的默认网络代理

更改全局配置文件/etc/profile all_proxy="all_proxy=socks://rahowviahva.ml:80/"ftp_proxy="ftp_proxy=http://rahowviahva.ml:80/"http_proxy="http_proxy=http://rahowviahva.ml:80/"......

临江仙卜算子
昨天
10
0
java框架学习日志-6(bean作用域和自动装配)

本章补充bean的作用域和自动装配 bean作用域 之前提到可以用scope来设置单例模式 <bean id="type" class="cn.dota2.tpye.Type" scope="singleton"></bean> 除此之外还有几种用法 singleton:......

白话
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部