<where/>、<trim/> 标签的使用

一、<trim/>

<trim prefix="1=1" suffix="" suffixOverrides="AND | OR" prefixOverrides=""></trim>

prefix:在trim标签内sql语句加上前缀。

suffix:在trim标签内sql语句加上后缀。

prefixOverrides:指定去除多余的前缀内容

suffixOverrides:指定去除多余的后缀内容,如:suffixOverrides=",",去除trim标签内sql语句多余的后缀","。

二、<where/>

1. 只有在一个以上的if条件有值的情况下才去插入“WHERE”开头的子句

2. 若其后是“AND”或“OR”为首的,where 元素也会将他们去除

三、使用实例

<sql id="Page_Where_Clause">
    <where>
        <trim suffixOverrides="AND | OR" prefix="1=1">
            AND bs.inscode=bsc.inscode
            <if test="stunum !=null and stunum !='' ">
                AND bs.stunum LIKE concat(concat('%',#{stunum,jdbcType=VARCHAR}),'%') 
            </if>
            <if test="sex !=null and sex !='' ">
                AND bs.sex = #{sex,jdbcType=INTEGER}
            </if>
            <if test="applydate !=null and applydate !='' ">
                AND bs.applydate 
                <![CDATA[
                =  
                ]]>
                STR_TO_DATE(#{applydate},"%Y-%m-%d")
            </if>
            AND bs.inscode = #{inscode,jdbcType=VARCHAR}
        </trim>
    </where>
</sql>

猜你喜欢

转载自www.cnblogs.com/yifanSJ/p/9096068.html