Mybatis中的trim标签 介绍

本文详细解析了MyBatis中trim标签的用法及属性,包括如何利用prefix, prefixOverrides, suffix, suffixOverrides进行SQL代码的优化和调整。

使用过trim标签都知道trim标签有四个属性(类似于replace替换功能)

prefix,prefixOverrides,suffix,suffixOverrides
  • 1
  • 2


trim标签使用
1、trim 有四个属性 
2、prefix,suffix 表示在trim标签包裹的部分的前面或者后面添加内容注意:是没有prefixOverrides,suffixOverrides的情况下) 
3、如果有prefixOverrides,suffixOverrides 表示**覆盖**Overrides中的内容。(preFix替换prefixOverrides的内容,suffix替换suffixOverrides 的内容,替换前面的或后面的) 
4、如果只有prefixOverrides,suffixOverrides 表示删除。(删除)

例如:

    <sql id="Example_Where_Clause">
    <where>
      <foreach collection="oredCriteria" item="criteria" separator="or">
        <if test="criteria.valid">
          <trim prefix="(" prefixOverrides="and" suffix=")">
            <foreach collection="criteria.criteria" item="criterion">
              <choose>
                <when test="criterion.noValue">
                  and ${criterion.condition}
                </when>
                <when test="criterion.singleValue">
                  and ${criterion.condition} #{criterion.value}
                </when>
                <when test="criterion.betweenValue">
                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
                </when>
                <when test="criterion.listValue">
                  and ${criterion.condition}
                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
                    #{listItem}
                  </foreach>
                </when>
              </choose>
            </foreach>
          </trim>
        </if>
      </foreach>
    </where>
  </sql>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

prefix="(" prefixOverrides="and" suffix=")" 表示‘(‘替换掉and 后面加 ‘)‘


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值