zoukankan      html  css  js  c++  java
  • 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.下面是一个往购物车表中插入数据的mybatis语句

    <insert id="insert" parameterType="com.tortuousroad.groupon.cart.entity.Cart">
            insert into cart
            <trim prefix="(" suffix=")" suffixOverrides=",">
                <if test="id != null">
                    id,
                </if>
                <if test="userId != null">
                    user_id,
                </if>
                <if test="dealId != null">
                    deal_id,
                </if>
                <if test="dealSkuId != null">
                    deal_sku_id,
                </if>
                <if test="count != null">
                    count,
                </if>
                <if test="createTime != null">
                    create_time,
                </if>
                <if test="updateTime != null">
                    update_time,
                </if>
            </trim>
            <trim prefix="values (" suffix=")" suffixOverrides=",">
                <if test="id != null">
                    #{id,jdbcType=BIGINT},
                </if>
                <if test="userId != null">
                    #{userId,jdbcType=BIGINT},
                </if>
                <if test="dealId != null">
                    #{dealId,jdbcType=BIGINT},
                </if>
                <if test="dealSkuId != null">
                    #{dealSkuId,jdbcType=BIGINT},
                </if>
                <if test="count != null">
                    #{count,jdbcType=INTEGER},
                </if>
                <if test="createTime != null">
                    #{createTime,jdbcType=TIMESTAMP},
                </if>
                <if test="updateTime != null">
                    #{updateTime,jdbcType=TIMESTAMP},
                </if>
            </trim>
        </insert>

    假设没有指定

    suffixOverrides=","

    执行的sql语句也许是这样的:insert into cart (id,user_id,deal_id,) values(1,2,1,);显然是错误的

    指定之后语句就会变成insert into cart (id,user_id,deal_id) values(1,2,1);这样就将“,”去掉了。

    前缀也是一个道理这里就不说了。

  • 相关阅读:
    Grodno 2015 (Urozero May 2015 Day 5) D Triangles
    Flea Circus(Project Euler 213)
    Prime triplets (Project Euler 196)
    ACM 博弈(难)题练习 (第二弹)
    Crosses Puzzles zoj 4018 (zju校赛)
    Petrozavodsk Summer-2015. Ivan Smirnov Contest 1 B Bloom
    ACM 博弈(难)题练习 (第一弹)
    2017 ACM区域赛(南宁站) 参赛流水账
    2017 CCPC 杭州 流水账
    2017 ACM区域赛(西安) 参赛流水账
  • 原文地址:https://www.cnblogs.com/zouhong/p/12051335.html
Copyright © 2011-2022 走看看