15-MyBatis的#{}和${}的区别
MyBatis
在MyBatis中,${}
和#{}
的区别是什么?
#{}
是占位符,预编译处理 ;${}
是字符串替换- MyBatis在处理
#{}
的时候,会将sql语句中的#{}
替换成?
号,调用PreparedStatement
的set方法来复制 - MyBatis在处理
${}
的时候,会将sql语句中的${}
替换成变量的值 - 使用
#{}
可以有效防止SQL注入,提高系统安全性
${}
和#{}
的区别是什么?#{}
是占位符,预编译处理 ; ${}
是字符串替换#{}
的时候,会将sql语句中的#{}
替换成?
号,调用PreparedStatement
的set方法来复制${}
的时候,会将sql语句中的${}
替换成变量的值#{}
可以有效防止SQL注入,提高系统安全性