mybatis 中#和$的区别
#{…}是一个参数标记,将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是1,那么解析成sql时的值为order by "1", 如果传入的值是id,则解析成的sql为order by "id".
而${…}只是简单的字符串替换。$方式一般用于传入数据库对象,例如传入表名.
比如#{}打印出来的语句 select * from table where id=?,然而${} 则是不能防止SQL注入打印出来的语句 select * from table where id=2 实实在在的参数
一般而言,为避免SQL注入攻击,传递参数应使用#{…}方式,因为这样MyBatis会处理好特殊字符转义的问题
而对于诸如表名、字段名(如order by子句后的排序字段)这些表本身或其字段的名字,和SQL关键字(如order by子句后的asc关键字),是不能使用#{…}方式的,而只能使用字符串替换的${…}方式
转载于:https://www.cnblogs.com/fengxm/p/4113122.html
mybatis 中#和$的区别相关推荐
- MyBatis中#{}和${}的区别
------------------------siwuxie095 MyBatis 中 #{} 和 ${} 的区别 1.在 MyBatis 的映射配置文件中,动态传递参数有两种方式: (1)#{} ...
- Mybatis 中$与#的区别
1 #是将传入的值当做字符串的形式,eg:select id,name,age from student where id =#{id},当前端把id值1,传入到后台的时候,就相当于 select i ...
- mybatis 中#与$的区别
2019独角兽企业重金招聘Python工程师标准>>> MyBatis中#和$的区别 1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #u ...
- mybatis中的#{}和${}区别,和使用场景
mybatis中的#{}和${}区别 1.#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为ord ...
- mybatis中#与$的区别
mybatis中#与$的区别 MyBatis中使用parameterType向SQL语句传参,parameterType支持的类型可以是基本类型int,String,HashMap和java自定义类型 ...
- 【MybBatis细节篇】MyBatis中#{}和${}的区别
[MybBatis细节篇]MyBatis中#{}和${}的区别 #{} 和 ${} 的区别 #{} 和 ${} 的实例:假设传入参数为 1 #{} 和 ${} 的大括号中的值 单个参数的情形 #{} ...
- spring中@param和mybatis中@param使用区别
spring中@param /*** 查询指定用户和企业关联有没有配置角色* @param businessId memberId* @return*/int selectRoleCount(@Par ...
- 从印度兵力分布聊聊Mybatis中#和$的区别
文章目录 简介 举个例子 查询举例 #{id}的特点 ${id}的特点 总结 简介 大家在使用Mybatis的过程中可能都会自己去写SQL语句,并且需要向SQL语句传入参数. 但是在Mybatis中, ...
- mybatis中#{}和${}的区别及order by的sql注入问题
mybatis的#{}和${}的区别以及order by注入问题 原文 http://www.cnblogs.com/chyu/p/4389701.html 前言略,直奔主题.. #{}相当于jdb ...
- MyBatis 中 #{} 和 ${} 的区别看完这篇文章一目了然
我们知道 MyBatis 中对于参数的赋值有两种方式, 一种是使用 #{}, 一种是使用 ${}, 这两种参数赋值的方式对于有些情况都可以正常使用, 但是针对某些场景, ${} 却会报错. 本篇文章主 ...
最新文章
- SpringBoot接口频繁超时,长时间找不到原因,我用 Arthas 定位到了
- MVC Html.ActionLink Area 链接中含区域的页面之间的跳转
- OS_CORE.C(8)
- SAP 将smartforms的报表转成PDF
- 想要学习设计模式,你得先会看类图,一张图读懂UML
- [vue] 使用vue渲染大量数据时应该怎么优化?说下你的思路!
- 【java】CGLIB动态代理原理分析
- gitlab 删除仓库
- 5个被忽视的习惯,决定了你无法成为高级开发工程师
- 没有iml文件会怎么样_【商标服务】商标管理:商标没有办理续展会怎么样 ?...
- sql替换字符串中的部分字符
- 动软代码生成器的具体使用方法步骤
- 干货| 364套各类风格毕业设计答辩PPT模板~
- 网站常用色彩表(网络搜集整理)
- 《走出强迫的泥潭——森田疗法指导集锦》
- 【独家分享】QQ常见网络骗术***战
- 2020年即将推出的智能手环APP定制开发
- 写在2020年的初秋
- 1000句英语经典口语 (1)
- 百度二级域名大全 目前为234个http://www.twocity.cn/blog/article.asp?id=818
热门文章
- python零基础实例-零基础学习Python开发练习100题实例(1)
- 学python可以干嘛-学习Python可以做什么
- python掌握程度怎么判断-Python数据分析路上,温故而知新
- 全国计算机等级考试python教材-全国计算机等级考试重大改革!新增Python科目
- 精通python-精通Python设计模式
- python urllib.request 爬虫 数据处理-python爬虫 urllib模块url编码处理
- python输入任意多个成绩-Python 实现输入任意多个数,并计算其平均值的例子
- python使用字典格式化字符串-python实现字符串和字典的转换
- excel调用python编程-使用Python对Excel进行读写操作
- python爬虫教程视频-python爬虫(入门教程、视频教程)