• 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);这样就将“,”去掉了。

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

  • 相关阅读:
    判断集合关系(自反,反自反,对称,反对称,传递)
    LINUX查看系统日志
    恶意代码分析——静态分析高级技术
    恶意代码分析——动、静态分析基础技术
    链表实现多项式相加和相乘
    一个完整顺序表的实现
    数据结构顺序表删除所有特定元素x
    数据结构-顺序表插入元素时扩容问题
    apscheduler定时器
    tkinter Scale滑块
  • 原文地址:https://www.cnblogs.com/zouhong/p/12051335.html
Copyright © 2020-2023  润新知