mybatis中if和else
时间: 2023-09-04 15:14:30 浏览: 176
在 MyBatis 中,可以使用 `<if>` 元素来实现条件判断,以及使用 `<choose>`、`<when>` 和 `<otherwise>` 元素来实现类似于 if-else 的逻辑。
使用 `<if>` 元素可以在 SQL 语句中添加条件判断,如下所示:
```xml
<select id="getUserList" resultType="User">
SELECT * FROM users
WHERE 1=1
<if test="username != null">
AND username = #{username}
</if>
<if test="age != null">
AND age = #{age}
</if>
</select>
```
在上面的例子中,如果 `username` 不为 null,则会拼接 `AND username = #{username}` 到 SQL 语句中,如果 `age` 不为 null,则会拼接 `AND age = #{age}` 到 SQL 语句中。
另外,如果需要实现类似于 if-else 的逻辑,可以使用 `<choose>`、`<when>` 和 `<otherwise>` 元素,如下所示:
```xml
<select id="getUserList" resultType="User">
SELECT * FROM users
WHERE 1=1
<choose>
<when test="username != null">
AND username = #{username}
</when>
<when test="age != null">
AND age = #{age}
</when>
<otherwise>
AND status = 1
</otherwise>
</choose>
</select>
```
在上面的例子中,如果 `username` 不为 null,则会拼接 `AND username = #{username}` 到 SQL 语句中
阅读全文