今天遇到一个问题:
场景:添加功能
就是当页面的数据传入了null的时候,传到保存功能的时候就报:无效的列类型
原因是mybatis无法自动判断为null的情况,所以需要添加 jdbcType=VARCHAR 或者手动判断是否为空。
备份一下:
<!-- 插入记录 -->
<insert id="save" parameterType="Object" >
<selectKey resultType="java.lang.Long" order="BEFORE" keyProperty="id" >
SELECT IAF_HIBERNATE_SEQUENCE.NEXTVAL AS VALUE FROM DUAL
</selectKey>
INSERT INTO IAF_AGENCY(ID
,COLUUID
,STATUSID
,EXATTRIBUTE3
,EXATTRIBUTE1
,AGENCYTYPE
,SIMPLEENNAME
,SIMPLENAME
,SYSTEMTYPE
,INPUTUSERID
,EXATTRIBUTE2
,AGENCYENNAME
,AGENCYNAME
,AGENCYLEVELCODE
,AGENCYLEVEL
,EXATTRIBUTE4
,PARENTAGENCYID
,AGENCYCODE
,INPUTDATE
)
VALUES(#{id}
,#{coluuid,jdbcType=VARCHAR}
,#{statusid,jdbcType=VARCHAR}
,#{exattribute3,jdbcType=VARCHAR}
,#{exattribute1,jdbcType=VARCHAR}
,#{agencytype,jdbcType=VARCHAR}
,#{simpleenname,jdbcType=VARCHAR}
,#{simplename,jdbcType=VARCHAR}
,#{systemtype,jdbcType=VARCHAR}
,#{inputuserid,jdbcType=VARCHAR}
,#{exattribute2,jdbcType=VARCHAR}
,#{agencyenname,jdbcType=VARCHAR}
,#{agencyname,jdbcType=VARCHAR}
,#{agencylevelcode,jdbcType=VARCHAR}
,#{agencylevel,jdbcType=VARCHAR}
,#{exattribute4,jdbcType=VARCHAR}
,#{parentagencyid,jdbcType=VARCHAR}
,#{agencycode,jdbcType=VARCHAR}
,#{inputdate,jdbcType=VARCHAR}
)
</insert>