My Batis mapper.xml中 动态SQL中使用trim标签 if end的场景

    xiaoxiao2021-12-14  18

    trim标签有点类似于replace效果。

     trim 属性

                    prefix:前缀覆盖并增加其内容

                    suffix:后缀覆盖并增加其内容

                    prefixOverrides:前缀判断的条件

                    suffixOverrides:后缀判断的条件

     

    <!-- 修改 -->  <update id="updateTest" >         UPDATE test          <trim prefix="SET" suffixOverrides=",">          <if test="name!=null and name!=‘‘">          name = #{name},          </if>          <if test="phone!=null and phone!=‘‘">          phone = #{phone},          </if>          <if test="address!=null and address!=‘‘">          address = #{address},          </if>        </trim>           WHERE           id = #{id}   </update>

    输出sql

    update test set name = #{name}, phone = #{phone}, address = #{address}   WHERE           id = #{id}

     

     

    <select id="checkUserByPhone" parameterType="User" resultMap="UserMap">   select * from user   <trim prefix="WHERE" prefixOverrides="AND | OR">    <if test="userId!=null and userId!=‘‘">          and user_id != #{userId}          </if>    <if test="phone!=null and phone!=‘‘ and state!=‘All‘">          and phone = #{phone} and state!=‘X‘          </if>               </trim>  </select>

     

    输出sql   select * from user  WHERE user_id != #{userId}  and phone = #{phone} and state!=‘X‘  

    转载请注明原文地址: https://ju.6miu.com/read-970553.html

    最新回复(0)