Mybatis之<trim prefix=““ suffix=““ suffixOverrides=““ prefixOverrides=““></trim>

1.说明

  

<trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""></trim>

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

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

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

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

2.示例

  在本示例中,因为在后面有三个字段,所以前面的都可加上逗号,也不会出现问题。

  如果没有这三个字段,前面第几个开始不加逗号,说不准,这个时候,就需要使用suffixOverrides去除。

<insert id="insertDto" parameterType="cn.com.bidcenter.security.insertDto">
        insert into T_SRV_DEMO
            <trim prefix="(" suffix=")" suffixOverrides=",">

                <if test = "id != null" >
                    C_ID,
                </if>

                <if test = "warnType != null" >
                    WARN_TYPR,
                </if>

                <if test = "crowdLable != null" >
                    CROWD,
                </if>

                <if test = "handleWay != null" >
                    WAY,
                </if>

                <if test = "warnContent != null" >
                    MSG,
                </if>

                <if test = "areaType != null" >
                    GEOM_TYPE,
                </if>

                <if test = "spaceLocal != null" >
                    GEOM,
                </if>

            </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test = "id != null" >
                #{id},
            </if>

            <if test = "warnType != null" >
                #{warnType},
            </if>

            <if test = "crowdLable != null" >
                #{crowdLable},
            </if>

            <if test = "handleWay != null" >
                #{handleWay},
            </if>

            <if test = "warnContent != null" >
                #{warnContent},
            </if>

            <if test = "areaType != null" >
                #{areaType},
            </if>

            <if test = "spaceLocal != null" >
                #{spaceLocal},
            </if>
        </trim>

    </insert>

3.另外说明

  useGeneratedKeys="true" keyProperty="id"

  当我们insert时,返回剛剛新增的id,可以加上上面的两个属性。

  主要是在主键是自增的情况下,添加成功后可以直接使用主键值,其中keyProperty的值是对象的属性值,不是数据库表中的字段名

 

  但是,需要有一些注意:

Long save = mcsContractBillTermRecordMapper.save(mcsContractBillTermRecord);

       这个save是新增的个数,那新增id返回值在哪里呢,在mcsContractBillTermRecord中,可以用Integer来存

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liumce

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值