温馨提示×

mybatis的query条件筛选

小樊
86
2024-08-19 00:05:35
栏目: 编程语言

在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中的usernameage来动态添加条件到查询语句中,如果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>

通过以上方式,可以根据不同条件进行灵活的条件筛选,以满足不同的查询需求。

0