在MyBatis中,可以使用<select>
標簽來定義查詢語句,并在其中使用<where>
、<if>
、<choose>
等條件判斷語句來進行條件篩選。
例如,可以使用<if>
標簽來根據條件動態添加條件到查詢語句中:
<select id="selectUsers" parameterType="map" resultType="User">
SELECT * FROM user
<where>
<if test="username != null">
AND username = #{username}
</if>
<if test="age != null">
AND age = #{age}
</if>
</where>
</select>
在上面的例子中,根據傳入的參數map中的username
和age
來動態添加條件到查詢語句中,如果username
不為空,則添加AND username = #{username}
條件,如果age
不為空,則添加AND age = #{age}
條件。
除了使用<if>
標簽外,還可以使用<choose>
和<when>
標簽來實現多條件篩選:
<select id="selectUsers" parameterType="map" resultType="User">
SELECT * FROM user
<where>
<choose>
<when test="username != null">
AND username = #{username}
</when>
<when test="age != null">
AND age = #{age}
</when>
</choose>
</where>
</select>
通過以上方式,可以根據不同條件進行靈活的條件篩選,以滿足不同的查詢需求。