trim标签是一个格式化的标签,可以完成set或者是where标签的功能
1.用 trim 实现if+where 语句
<select id="selectUserByUsernameAndSex" parameterType="com.qcby.entity.User"
resultType="com.qcby.entity.User">
select * from user
<!-- <where>-->
<!-- <if test="username != null">-->
<!-- username=#{username}-->
<!-- </if>-->
<!-- <if test="sex != null">-->
<!-- and sex=#{sex}-->
<!-- </if>-->
<!-- </where>-->
<trim prefix="where" prefixOverrides="and | or">
<if test="username != null">
and username=#{username}
</if>
<if test="sex != null">
and sex=#{sex}
</if>
</trim>
</select>
prefix:注明前缀是where
prefixoverride:语句前需要处理的字段
2.用 trim 实现 if+set 语句
<update id="update" parameterType="com.qcby.entity.User">
update user
<!-- <set>-->
<!-- <if test="username !=null and username!=''">-->
<!-- username = #{username} ,-->
<!-- </if>-->
<!-- <if test="address != null and address != ''">-->
<!-- address = #{address}-->
<!-- </if>-->
<!-- </set>-->
<trim prefix="set" suffixOverrides=",">
<if test="username != null and username != ''">
username = #{username},
</if>
<if test="sex != null and sex != ''">
sex = #{sex},
</if>
</trim>
where id = #{id}
</update>
prefix:前缀是set
suffixOverrides:要处理的后缀