小夜埙
路很长,要耐心,慢慢走!

最近在工作中经常遇到一个情况:通过mybatis的标签执行插入语句,当表中字段比较多的时候,需要全部插入,而有时候的需求是只插入其中几个字段,但是会报错。

原来的语句,必须把所有字段都Set值。

<insert id="insertSettlement" parameterType="com.entity.system.settlement.Settlement">
        insert into B2B_SETTLEMENT (
        ID,
        Deptid,
        Statement_Date,
        Billamount,
        Ticketidlist,
        Billinterest,
        Totalbill,
        Operatetype,
        Billstatus,
        Creatorid,
        Create_Date,
        Auditstatus,
        Isonline
        )
        values (
        #{id},
        #{deptId},
        #{statementDate},
        #{billAmount},
        #{ticketIdList},
        #{billInterest},
        #{totalbill},
        #{operateType},
        #{billStatus},
        #{creatorId},
        sysdate,
        #{auditStatus},
        #{isOnline}
        )
    </insert>

加上标签,不用每次把所有值都弄满。

<insert id="insert" parameterType="com.entity.tcwechat.otms.BaseBinding">
                INSERT INTO BASE_BINDING
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="hc != null">
                HC,
            </if>
            <if test="cfcity != null">
                CFCITY,
            </if>
            <if test="ddcity != null">
                DDCITY,
            </if>
            <if test="hbh != null">
                HBH,
            </if>
            <if test="cw != null">
                CW,
            </if>
            <if test="cfdate != null">
                CFDATE,
            </if>                   
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="hc != null">
                #{hc},
            </if>
            <if test="cfcity != null">
                #{cfcity},
            </if>
            <if test="ddcity != null">
                #{ddcity},
            </if>
            <if test="hbh != null">
                #{hbh},
            </if>
            <if test="cw != null">
                #{cw},
            </if>
            <if test="cfdate != null">
                #{cfdate},
            </if>                  
        </trim>
    </insert>

小结

工作记录,下次遇到可以用!

posted on 2018-03-03 19:14  小夜埙  阅读(1765)  评论(0编辑  收藏  举报