在向数据中的表插入数据时,一直提示“指定转换无效”,反复检查各个字段的类型和实体类的类型完全一致,并没有错误,不得其解。
后来,慢慢测试,发现是主键的原因,而主键设置为自增且为bigint类型,检查映射文件在insert时也没有明文插入主键,那么导致其报错的原因就是resultClass返回类型为int,将其设置为long就可以解决了。
<insert id="T_TK_CABINET_LIST_INSERT" parameterClass="T_TK_CABINET_LIST">
<selectKey property="CABINET_LIST_ID" type="post" resultClass="int">
<![CDATA[${selectKey}]]>
</selectKey>
<![CDATA[INSERT INTO TK_CABINET_LIST(CABINET_ID,CABINET_FACE,CABINET_LOC_CODE,RSV1,RSV2,RSV3,RSV4) VALUES (#CABINET_ID#,#CABINET_FACE#,#CABINET_LOC_CODE#,#RSV1#,#RSV2#,#RSV3#,#RSV4#)]]>
</insert>