在MyBatis中運(yùn)用if-else語(yǔ)句進(jìn)行邏輯控制的方法是在SQL語(yǔ)句中使用<if>
標(biāo)簽和<choose>
標(biāo)簽。<if>
標(biāo)簽可以用來(lái)添加條件判斷,<choose>
標(biāo)簽可以用來(lái)包裹多個(gè)<when>
標(biāo)簽和一個(gè)<otherwise>
標(biāo)簽,實(shí)現(xiàn)多個(gè)條件判斷。
示例如下:
<select id="getUserList" resultType="User">
SELECT * FROM user
<where>
<if test="username != null">
AND username = #{username}
</if>
<if test="age != null">
AND age = #{age}
</if>
<choose>
<when test="gender != null and gender == 'male'">
AND gender = 'male'
</when>
<when test="gender != null and gender == 'female'">
AND gender = 'female'
</when>
<otherwise>
AND gender = 'unknown'
</otherwise>
</choose>
</where>
</select>
在上面的示例中,<if>
標(biāo)簽用來(lái)判斷username
和age
是否為空,<choose>
標(biāo)簽用來(lái)判斷gender
的值是男性、女性還是未知性別,并根據(jù)不同的條件拼接SQL語(yǔ)句。