mybatis中${}和#{}的区别

简介:

在mybatis中的编写xml文件时 我们经常遇到参数的传入 总结一下${}和#{}的区别:

 

1.#{} 有效的防止sql注入

   #{} 直接传入的是你参数值 不会加上""

2.${} order by 排序是 必须使用${} 例如: order by ${id}

   ${}不可以防止sql注入 没有预编译sql语句

   ${}会自动加上""

  总结: 出于安全考虑 最好使用#{}

本文转自  zddnd  51CTO博客,原文链接:http://blog.51cto.com/13013666/1943041

相关文章
|
2月前
|
SQL Java 数据库连接
hibernate和mybatis的区别
hibernate和mybatis的区别
|
7月前
|
SQL 安全 Java
65MyBatis - MyBatis中 # 与 $ 的区别
65MyBatis - MyBatis中 # 与 $ 的区别
21 0
|
7月前
|
SQL XML Java
mybatis基本构成&mybatis与hibernate的区别&添加mybatis支持
mybatis基本构成&mybatis与hibernate的区别&添加mybatis支持
|
6天前
|
SQL Java 数据库连接
MyBatis #与$的区别以及动态SQL
MyBatis #与$的区别以及动态SQL
11 0
|
19天前
|
SQL 缓存 Java
|
20天前
|
Java 数据库连接 mybatis
MyBatis中Mapper接口和dao区别是什么?
MyBatis中Mapper接口和dao区别是什么?
|
5月前
|
SQL Java 数据库连接
MyBatis与Hibernate区别
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。
|
7月前
|
SQL Java 数据库连接
MyBatis之动态SQL、#与$的区别和结果映射
MyBatis之动态SQL、#与$的区别和结果映射
67 0
|
7月前
|
SQL 安全 Java
Mybatis的动态SQL及关键属性和标识的区别(对SQL更灵活的使用)
Mybatis的动态SQL及关键属性和标识的区别(对SQL更灵活的使用)
28 0
|
9月前
|
SQL XML Java
MyBatis配置中的#「」和$「」有什么区别?
Mybatis提供到的#号和$号,都是实现动态SQL的一种方式,通过这两种方式把参数传递到XML之后,在执行操作之前,Mybatis会对这两种占位符进行动态解析。
61 0