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