使用mybati语法

  • 注意: 需要平台版本5.0.231 以上版本

支持mybatis 的动态语句:

   <if> <\if>
   <choose> <\choose>
   <when> <\when>
   <otherwise> <\otherwise>
   <trim> <\trim>
   <where>  <\where>
   <foreach>  <\foreach>
  • if
    SELECT * FROM users  
    WHERE 1=1  
      <if test="name != null">  
        AND name = #{name}  
      </if>  
      <if test="age != null">  
        AND age = #{age}  
      </if>  
      <if test="email != null">  
        AND email = #{email}  
      </if> 
  • choose, when ,otherwise 标签:根据条件选择不同的 SQL 片段。
    SELECT * FROM users  
    WHERE 1=1  
      <choose>  
        <when test="name != null">  
          AND name = #{name}  
        </when>  
        <when test="age != null">  
          AND age = #{age}  
        </when>  
        <otherwise>  
          AND is_active = 1  
        </otherwise>  
      </choose>  
  • trim 标签:用于去除 SQL 语句的前缀或后缀。
    SELECT * FROM users  
    <trim prefix="WHERE" prefixOverrides="AND |OR ">  
      <if test="name != null">  
        AND name = #{name}  
      </if>  
      <if test="age != null">  
        AND age = #{age}  
      </if>  
      <if test="email != null">  
        AND email = #{email}  
      </if>  
    </trim>  
  • where 标签:用于构建 WHERE 子句,自动处理多余的 AND 和 OR。
    SELECT * FROM users  
    <where>  
      <if test="name != null">  
        AND name = #{name}  
      </if>  
      <if test="age != null">  
        AND age = #{age}  
      </if>  
      <if test="email != null">  
        AND email = #{email}  
      </if>  
    </where>  
  • foreach 标签:用于构建 IN 子句,适用于多个参数的情况。
    SELECT * FROM users  
    WHERE id IN (#{ids})  
      <foreach item="item" index="index" collection="ids" open="(" separator="," close=")">  
        #{item}  
      </foreach>  
作者:texbox  创建时间:2023-09-06 20:19
最后编辑:texbox  更新时间:2024-10-17 08:28