#{}表示一个占位符号,通过#{}可以实现preparedStatement向占位符中设置值,自动进行java类型和jdbc类型转换。
#{}可以有效防止sql注入。
#{}可以接收简单类型值或pojo属性值。 如果parameterType传输单个简单类型值,#{}括号中可以是value或其它名称。
${}表示拼接sql串,通过${}可以将parameterType 传入的内容拼接在sql中且不进行jdbc类型转换,
${}可以接收简单类型值或pojo属性值,如果parameterType传输单个简单类型值,${}括号中只能是value。
<!-- 根据用户名称模糊查询用户列表 -->
<!--
select * from user where id = ? 占位符 ?=='五'
SELECT * FROM `user` WHERE username = #{username}
select * from user where username like "%"#{v}"%"
select * from user where username like '%五%' 字符串拼接
-->
<select id="findUserByName" parameterType="String"resultType="com.itheima.mybatis.pojo.User">
SELECT * FROM `user` WHERE username LIKE"%"#{v}"%"
</select>