mybatis <if>标签字符串比较
时间: 2023-08-11 13:05:54 浏览: 278
在 Mybatis 中,可以使用 `<if>` 标签和 `${}` 占位符来实现字符串比较。例如:
```xml
<select id="getUserByName" parameterType="java.lang.String" resultType="User">
SELECT * FROM user WHERE name = #{name}
<if test="age != null">
AND age = ${age}
</if>
</select>
```
在这个例子中,如果传入的参数 `age` 不为 `null`,则会在 SQL 中加入 `AND age = ${age}` 条件,实现了字符串比较。需要注意的是,使用 `${}` 占位符时需要注意 SQL 注入的问题。如果可能存在 SQL 注入的情况,应该使用 `#{}` 占位符。同时也可以使用其他比较运算符进行字符串比较,如 `<`, `>`, `<=`, `>=` 等。例如:
```xml
<select id="getUserByName" parameterType="java.lang.String" resultType="User">
SELECT * FROM user WHERE name = #{name}
<if test="age != null">
AND age <= ${age}
</if>
</select>
```
在这个例子中,如果传入的参数 `age` 不为 `null`,则会在 SQL 中加入 `AND age <= ${age}` 条件,实现了字符串比较。
阅读全文