在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>
通过以上方式,可以根据不同条件进行灵活的条件筛选,以满足不同的查询需求。