MyBatis中 #{} 和 ${} 的区别
来源:互联网 发布:js array pop 编辑:程序博客网 时间:2024/06/06 01:11
#{}:以预编译的形式,将参数设置到 SQL语句中。相当于PreparedStatement。可以防止 SQL 注入。
SELECT * FROM table WHERE id = #{id}
相当于:SELECT * FROM table WHERE id = ?然后 preparedStatement.setInt(1,id);
${}:取出值,直接拼装在 SQL 语句中,会有安全问题。
SELECT * FROM table WHERE id = ${id}
相当于:
SELECT * FROM table WHERE id = 1${id}取到的值直接拼接在 SQL 语句中
大多数情况下,使用#{}
原生 JDBC 不支持占位符的地方可以使用 ${} 进行取值。
如
分表,按照年份表拆分:
SELECT * FROM ${year}_salary WHERE xxxxx
排序:
SELECT * FROM table WHERE xxxxx order by ${field_name} ${order}
field_name:排序的字段名根据
order:ASC(升序)/DESC(降序)
表名:
SELECT ${tableName} WHERE xxxxx
阅读全文
0 0
- mybatis中#和$的区别
- mybatis中#和¥的区别
- Mybatis中#和$的区别
- Mybatis中#和$的区别
- mybatis中$和#的区别
- MyBatis中$和#的区别
- MyBatis中$和#的区别
- MyBatis中#和$的区别
- mybatis中#{}和${}的区别
- Mybatis中#和$的区别
- MyBatis中#{}和${}的区别
- Mybatis中#和$的区别
- MyBatis中#和$的区别
- mybatis中#和$的区别
- MyBatis中#{}和${}的区别
- mybatis中${}和#{}的区别?
- mybatis中#和$的区别
- mybatis中"#"和"$"的区别
- 正则限制 input 输入框只能输入整数、小数
- 通过jQuery和Bootstrap来分别实现轮播图
- unity一 Transform类基础介绍
- JAVA 循环语句 流程图
- ubuntu16.04+anaconda2+caffe(cpu版)
- MyBatis中 #{} 和 ${} 的区别
- Java并发编程日记——线程池介绍和使用建议
- 关于kingedit使用过程中的问题
- js鬼混笔记:可靠的页面返回上一页刷新
- 分布式、微服务、云架构构建电子商务平台
- Rxjava扩展-控件事件的点击
- 爬楼梯
- 重放攻击防御
- 根据复选框的内容动态的给新的table添加内容