MyBatis的動態插入語句(經常報‘無效的列類型’)


最近在工作中經常遇到一個情況:通過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>

小結

工作記錄,下次遇到可以用!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM