简单的来说 ${} 相当于 statement对象 #{} 相当于 Preparedstatement对象
-
${}
字符串拼接,#{}
参数站位相当于jdbc中的? -
${}
不能够防止sql注入,#{}
可以防止sql注入的 -
${}
可以替换sql语句任何一个内容,#{}
只能替换参数 -
${}
如果操作字符串,需要在sql中使用单引号。#{}
不需要(不需要判断数据类型,会自动转换)(${}
要考虑参类型 ,#{}
不用考虑参数类型)这个是采用了mybatis内部的类型转换机制 -
${}
可以代替所有#{}
-
如果传入的数据,不是sql中的字段的时候,就不能够使用
#{}
.