mysql中美元符号_Mybatis中#号和美元符号$符号的区别
1.#{变量名}可以进行预编译、类型匹配等操作,#{变量名}会转化为jdbc的类型。
select * from tableName where id = #{id}
假设id的值为12,其中如果数据库字段id为字符型,那么#{id}表示的是‘12’;如果是整型,则id的值为12,
并且Mybatis会将上面SQL语句转化为jdbc的 select * from tableName where id =?,把?参数值设置为id的值。
这种方式使得sql语句是经过预编译的,它是把#{}中间的参数转义成字符串。
如下所示:xml映射文件
select * from xiaoxiao x,sister s where x.id=s.xiaoxiao_id and x.id=#{id};
该xml映射文件会到相应的数据库中请求相应的数据 ,并响应显示在控制台上或者系统页面上
2、${变量名}不进行数据类型匹配,直接替换
select * from tableName where id = ${id}
如果字段id为整型,sql语句就不会出错,但是如果字段id为字符型,那么sql语句就改写为
select * from tableName where id = '${id}'
3、#{}方式能够很大程度上防止sql注入;而${}方式无法防止sql注入。
根本就是: #{}这种取值方式是先编好sql语句再进行取值,即先编译后取值;而${}这种方式是先取值后再去编译sql语句,即先取值后编译。
注意:mybatis框架作为一款半自动化的持久层框架,其sql语句都要我们自己来手动编写,这个时候当然需要防止sql注入。
mysql中美元符号_Mybatis中#号和美元符号$符号的区别相关推荐
- mysql中建立一对多映射_Mybatis中的高级映射一对一、一对多、多对多
学习hibernate的时候,小编已经接触多各种映射,mybatis中映射有到底是如何运转的,今天这篇博文,小编主要来简单的介绍一下mybatis中的高级映射,包括一对一.一对多.多对多,希望多有需要 ...
- mysql入参映射_Mybatis中的Mapper映射Sql中传参类型(如Bean,基本类型,List...)与取值的方式 与foreach的几种用法!!...
附加:mybatis配置文件 /p> "http://mybatis.org/dtd/mybatis-3-config.dtd"> View Code 附加:测试文件 ...
- mysql中双引号和单引号有什么区别
mysql中双引号和单引号有什么区别 前2天看到有人问,mysql中双引号和单引号有什么区别? 希望大家可以关注下公众号,支持一下,鞠躬感谢~ 我就直接po代码和截图了,如下 select * fro ...
- mysql is双竖线_oracle中的单引号和双竖线||以及q'间隔符
单引号在 Oracle 中有三种身份: 1. 用来引用一个字符串常量,也就是界定一个字符串的开始和结束 2.转义符,对紧随其后出现的字符(单引号)进行转义 3. 表示它本身,也就是它作为一个字符串的一 ...
- javascript 符号_JavaScript中的美元符号($)和下划线(_)
javascript 符号 The dollar sign ($) and the underscore (_) characters are JavaScript identifiers, whic ...
- 对勾和叉怎么打_word文档中输入对号“√ ”和 叉号“×”的方法 word怎么打钩/打叉/半对半勾符号...
经常使用Word的人来说,许多问题是需要不断学习才能解决的,而Word中的功能更是需要一个长时间的经验积累才能熟练运用,而对于不熟练的使用Word的人来说,可能一个符号的输入都能被难倒,比如" ...
- xp 安装mysql数据库_Windows XP系统中安装MySQL5.5.28数据库图文教程
Windows XP系统中安装MySQL5.5.28数据库图文教程 2014-07-13 16:35来源:中国存储网 导读:MySQL数据库的安装一共分为两个部分:数据库的安装和数据库的配置.一.My ...
- mysql日期格式化季度_mysql中常用日期比较与计算函数
MySql中时间比较的实现 unix_timestamp() unix_timestamp 函数可以接受一个参数,也可以不使用参数. 它的返回值是一个无符号的整数.不使用参数,它返回自1970年1月1 ...
- sql oracle 自增长字段,在Oracle、MySQL、MS SQL Server中创设自动增长字段
在Oracle.MySQL.MS SQL Server中创建自动增长字段 好吧,今天面试有道题,要各个数据库怎么建立自增长字段,顺便复习一下吧,最近面试很多数据库问题... 一:Oracle Orac ...
- Mysql数据库(八)——mysql高阶语句(中)
Mysql数据库(八)--mysql高阶语句(中) 一.正则表达式(同shell脚本的正则表达式) 1.以"."代替任意一个字符 2.匹配前面字符多次 3.匹配前面字符至少一次 4 ...
最新文章
- java 判断ocx是否存在_OCX控件的注册卸载,以及判断是否注册
- 北大BBS2008年毕业生晒工资
- ubuntu12.04 mysql 安装_Ubuntu 12.04 安装 配置 访问MySQL
- 风控特征—时间滑窗统计特征体系
- 博士申请 | 香港中文大学(深圳)罗元教授招收计算机与信息工程全奖博士
- 深入了解React新引擎:React Fiber
- python怎么爬虫理数据_Python神技能 | 使用爬虫获取汽车之家全车型数据
- Git Diff 魔法
- 在酷热的就业天气寻找几丝凉意
- 服务端开发所需技能归纳
- 直播系统源码,直播平台系统源码
- 阿里云DataV与百度Sugar使用比较
- 在线答题-问卷调查小系统(附源码)
- HTML+CSS项目实践五:使用纯CSS实现点击文字切换图片效果(不使用JS)
- DP接口与HDMI接口的区别?
- 7-1 求奇数和 (15 分)本题要求计算给定的一系列正整数中奇数的和。输入格式:输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,表示输入结束,该数字不要处理。输出格式:
- linux系统单网卡绑定双IP的方法
- Spring Boot3.0正式发布及新特性解读
- 9大吸金手游公司盘点 2013年营收破1亿美元
- 优化vue打包chunk-vendors.js 过大
热门文章
- vue表格根据属性值设置背景颜色、vue表格设置鼠标悬浮背景颜色、vue表格的隔行变色修改背景颜色
- 认知的方法论 --以学习python编程语言为例
- 计算机机房空调原理,机房精密空调的工作原理
- 中国传统文化课程笔记
- 【办公自动化Excel】制作图表
- forEach 终止循环
- 计算机主板内存设计规范,PC 新时代!DDR5 内存规范正式发布
- unity android gyro,Unity - 陀螺仪 - 仅绕一轴旋转
- 电脑断网的解决办法(方法不会对电脑或网络造成负面影响)
- wifi信号满格无法连接服务器,wifi正常为什么不能上网_一招解决wifi信号满格不能上网的方法...