• 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>
    

    小结

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

  • 相关阅读:
    IE(IE6/IE7/IE8)支持HTML5标签
    JSP获取header信息request列表
    【转】log4j 不同的模块 不同的级别 记录日志
    congo.aspx和congo.cs和ViewCart.aspx
    Cookie Code
    web打印
    将一个对象转化为字符串形式的默认方法
    察看页面时禁止所有键盘上的键
    控制台程序添加引用
    Response.Write Script
  • 原文地址:https://www.cnblogs.com/black-spike/p/8493111.html
Copyright © 2020-2023  润新知