温馨提示×

mybatis的query条件筛选

小樊
113
2024-08-19 00:05:35
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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>

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

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:mybatis的query结果映射

0