Mybatis中#{}和${}的区别
#{}表示占位符
select * from user where name = #{name};
1. preparedStatement
2. 自动类型转换(Java和JDBC类型)
3. 防止SQL注入
4. 接收简单类型值或pojo属性值。
1) 向parameterType中传递单个简单类型值时,#{}括号中可以是value或其它名称。
2) 向parameterType中传递pojo时,#{}括号中使用ognl表达式。
${}表示拼接sql串
select * from user where name = '${name}';
1. 拼接字符串,不自动类型转换
2. ${}可以接收简单类型值或pojo属性值,如果parameterType传输单个简单类型值,${}括号中只能是value。
3. 需要使用引号包围