在MyBatis中,otherwise
元素用于定义choose
语句块的备选分支。choose
语句块类似于Java中的switch
语句,根据条件选择其中的一个分支执行。如果在choose
语句块中的所有when
条件都不成立,就会执行otherwise
块中的SQL语句。这样可以保证至少有一个分支会被执行。
示例代码:
<select id="selectUser" resultType="User">
<choose>
<when test="id != null">
SELECT * FROM users WHERE id = #{id}
</when>
<when test="username != null">
SELECT * FROM users WHERE username = #{username}
</when>
<otherwise>
SELECT * FROM users
</otherwise>
</choose>
</select>
在上面的示例中,如果id
和username
都为null,则会执行otherwise
中的SQL语句,即查询所有用户信息。