一张图就可以明白 区别所在.
#{ } 表示一个占位符 ?
1.通过#{ }可以实现preparedStatement向占位符中设置值,
2.自动进行java类型和jdbc类型转换,
3.#{ }可以有效防止sql注入。
4.#{ }可以接收简单类型值或pojo属性值。
5.如果parameterType传输单个简单类型值,#{ }括号中可以是value或其它名称。
${ } 表示拼接sql串
1.${ }可以将parameterType 传入的内容拼接在sql中
2.不进行jdbc类型转换,
3.${ }可以接收简单类型值或pojo属性值,
4.如果parameterType传输单个简单类型值,${ }括号中只能是value。