mybatis配置文件中#、$区别:2018年06月21日 10:37:15
在其配置文件中,参数的传递有两种:
一种是#{}、一种是${}其主要区别:
#{}实现的是SQL语句的预处理参数,之后执行的SQL中用“?”代替,使用的时候不关心数据类型,其可以自动实现数据类型的转换并且可以防止SQL注入。
${}实现的是SQL语句的直接拼接,不做数据类型的转换,需要自行判断数据类型,不能防止SQL的注入。
总结:
#{}占位符,用于参数的传递;需要预编译,防止SQL注入,不需要关心数据类型,一个参数时,任意参数名都可以接受从参数。
${}用于SQL语句的拼接,非预编译,直接字符串的拼接,不可以防止SQL注入,需要关心数据类型,一个参数时必须是value。