在MyBatis中,可以使用<choose>
标签来实现类似于Java中的if-else语句的功能。下面是一个示例代码:
<select id="getUsers" resultType="User">
SELECT * FROM users
WHERE 1=1
<choose>
<when test="username != null">
AND username = #{username}
</when>
<when test="email != null">
AND email = #{email}
</when>
<otherwise>
AND status = 'active'
</otherwise>
</choose>
</select>
在上面的示例中,<choose>
标签用于包裹多个<when>
和一个<otherwise>
子标签,根据条件判断是否执行相应的SQL语句。当username
不为null时,会执行AND username = #{username}
;当email
不为null时,会执行AND email = #{email}
;否则会执行AND status = 'active'
。