mybatis xml mapper 文件中 if-else 写法
时间: 2023-11-09 16:05:44 浏览: 522
在 MyBatis 的 XML Mapper 文件中,可以使用 `<if>`、`<choose>`、`<when>` 和 `<otherwise>` 标签来实现条件判断和分支控制。
1. `<if>` 标签:
`<if>` 标签用于指定一个条件,只有当条件为真时,才会执行其中的 SQL 语句。
示例:
```xml
<select id="selectUsers" resultType="User">
SELECT * FROM users
WHERE 1=1
<if test="id != null">
AND id = #{id}
</if>
<if test="username != null">
AND username = #{username}
</if>
</select>
```
2. `<choose>`、`<when>` 和 `<otherwise>` 标签:
`<choose>` 标签相当于 Java 中的 switch 语句,用于从多个选项中选择一个,每个选项都是由 `<when>` 标签表示的条件分支。如果所有选项都不符合条件,则可以使用 `<otherwise>` 标签来提供默认选项。
示例:
```xml
<select id="selectUsers" resultType="User">
SELECT * FROM users
<choose>
<when test="id != null">
WHERE id = #{id}
</when>
<when test="username != null">
WHERE username = #{username}
</when>
<otherwise>
WHERE 1=1
</otherwise>
</choose>
</select>
```
注意:在 `<if>`、`<when>` 和 `<otherwise>` 标签中,可以使用 MyBatis 的 OGNL 表达式来进行条件判断。例如,`test="id != null"` 表示判断 id 是否为 null。
阅读全文
相关推荐



















