mybatis mapper.xml中$和#符号有何具体差异?
- 内容介绍
- 相关推荐
本文共计778个文字,预计阅读时间需要4分钟。
当然可以,请您提供需要改写的原文,我会根据您的要求进行修改。
#{}表示一个占位符即?,可以有效防止sql注入。在使用时不需要关心参数值的类型,mybatis会自动进行java类型和jdbc类型的转换。
#{}可以接收简单类型值或pojo属性值,如果传入简单类型值,#{}括号中可以是任意名称。
<!-- 根据名称模糊查询用户信息 --> <select id="findUserById" parameterType="String" resultType="user"> select * from user where username like CONCAT(CONCAT('%', #{name}), '%') </select>
${}可以将parameterType 传入的内容拼接在sql中且不进行jdbc类型转换。
${}可以接收简单类型值或pojo属性值,如果传入简单类型值,${}括号中名称只能是value。
本文共计778个文字,预计阅读时间需要4分钟。
当然可以,请您提供需要改写的原文,我会根据您的要求进行修改。
#{}表示一个占位符即?,可以有效防止sql注入。在使用时不需要关心参数值的类型,mybatis会自动进行java类型和jdbc类型的转换。
#{}可以接收简单类型值或pojo属性值,如果传入简单类型值,#{}括号中可以是任意名称。
<!-- 根据名称模糊查询用户信息 --> <select id="findUserById" parameterType="String" resultType="user"> select * from user where username like CONCAT(CONCAT('%', #{name}), '%') </select>
${}可以将parameterType 传入的内容拼接在sql中且不进行jdbc类型转换。
${}可以接收简单类型值或pojo属性值,如果传入简单类型值,${}括号中名称只能是value。

