#{}:
标识一个占位符,向占位符输入参数,mybatis自动进行java类型和jdbc类型的转换,程序员不需要考虑参数的类型,比如传入字符串,mybatis最终拼接好的sql就是参数两边加单引号
${}:
等效于:
小扩展:
标识一个占位符,向占位符输入参数,mybatis自动进行java类型和jdbc类型的转换,程序员不需要考虑参数的类型,比如传入字符串,mybatis最终拼接好的sql就是参数两边加单引号
${}:
标识sql的拼接,通过${}接收参数,将参数的内容不加任何修饰拼接在sql中。
例如:
<select id="findUserById" parameterType="int" resultType="com.js.mybatis.po.User">
select * from user where id = #{id}
</select>
等效于:
<select id="findUserById" parameterType="int" resultType="com.js.mybatis.po.User">
select * from user where id = '${value}'
</select>
小扩展:
模糊查询:
<!-- 根据用户名称查询用户信息 可能返回多条 -->
<select id="findUserByName" parameterType="String" resultType="com.js.mybatis.po.User">
select * from user where username like '%${value}%'
</select>