在MyBatis的xml文件中使用条件语句可以使用if、choose、when和otherwise标签来实现。以下是一个简单的例子:
<select id="getUserById" parameterType="int" resultType="User">
SELECT * FROM users
WHERE id = #{id}
<if test="name != null">
AND name = #{name}
</if>
</select>
在上面的例子中,使用了if标签来判断name是否为空,如果name不为空,则添加额外的条件到SQL语句中。你也可以使用choose、when和otherwise标签来实现更复杂的条件逻辑,例如:
<select id="getUser" parameterType="User" resultType="User">
SELECT * FROM users
<where>
<choose>
<when test="name != null">
AND name = #{name}
</when>
<when test="age != null">
AND age = #{age}
</when>
<otherwise>
AND id = #{id}
</otherwise>
</choose>
</where>
</select>
在这个例子中,根据传入的User对象的属性值来动态拼接SQL语句,如果name不为空,则按照name查询,如果age不为空,则按照age查询,否则默认按照id查询。通过使用条件语句,可以实现动态的SQL拼接,使SQL语句更加灵活和智能。