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>

小结

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

转载于:https://www.cnblogs.com/black-spike/p/8493111.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值