温馨提示×

MyBatis中if语句的参数绑定方法

小樊
107
2024-08-09 23:09:38
栏目: 编程语言

在MyBatis中,可以使用if语句来动态构建SQL查询语句。如果想要在if语句中绑定参数,可以使用以下方法:

  1. 使用#{param}占位符:在if语句中直接使用#{param}占位符来引用参数,MyBatis会自动将参数绑定到占位符中。
<select id="getUserById" parameterType="int" resultType="User">
    SELECT * FROM user
    WHERE id = #{userId}
    <if test="name != null">
        AND name = #{name}
    </if>
</select>
  1. 使用${param}占位符:在if语句中使用${param}占位符来引用参数,需要手动将参数绑定到占位符中。
<select id="getUserById" parameterType="int" resultType="User">
    SELECT * FROM user
    WHERE id = #{userId}
    <if test="name != null">
        AND name = ${name}
    </if>
</select>

需要注意的是,使用${param}占位符存在SQL注入的风险,因此建议优先使用#{param}占位符。

0