mybatis的xml中如何使用if-else
时间: 2024-09-26 10:12:32 浏览: 74
在MyBatis的XML映射文件中,`<if>` 和 `<else>` 元素用于条件判断,可以根据条件动态地执行不同的SQL语句。它们通常配合`<choose>`, `<when>`, `<otherwise>`一起使用,形成一个简单的条件分支结构。以下是基本的语法示例:
```xml
<select id="selectUser" parameterType="map" resultType="User">
<choose>
<when test="status == 'active'">
SELECT * FROM users WHERE status = #{status}
</when>
<when test="status == 'inactive'">
SELECT * FROM inactive_users WHERE status = #{status}
</when>
<otherwise>
<!-- 当status不在前两者时,执行此部分 -->
SELECT * FROM default_users
</otherwise>
</choose>
</select>
```
在这个例子中,如果传入的`status`参数为`'active'`,就会执行第一个`<when>`标签内的SQL;如果是`'inactive'`,则执行第二个`<when>`标签内的SQL。如果`status`既不是`'active'`也不是`'inactive'`,则会执行`<otherwise>`标签下的SQL。
阅读全文