mybaits 插入数据时 如果是日期类型 一定要指明

本文介绍了一个关于使用MyBatis进行数据库操作时遇到的问题——由于未指定日期类型的jdbcType而导致的无效列类型错误,并提供了修改前后的XML配置对比,强调了在开发过程中注意细节的重要性。

   问题:

    

<insert id="saveSysRecommendConfig" parameterType="com.xingshoufu.common.vo.SysRecommendConfig">
		<selectKey resultType="Long" order="BEFORE" keyProperty="recommendConfigId">
			SELECT SEQ_T_SYS_RECOMMEND_CONFIG.nextval AS recommendConfigId FROM DUAL
		</selectKey>
        INSERT INTO T_SYS_RECOMMEND_CONFIG (
        RECOMMEND_CONFIG_ID ,RECOMMEND_CONFIG_NAME ,USER_ROLE_ID ,RECOMMEND_CYCLE ,RECOMMEND_TIME ,VALID_FLAG ,CREATE_TIME ,UPDATE_TIME 
        ) VALUES (
        #{recommendConfigId,jdbcType=DECIMAL} ,#{recommendConfigName,jdbcType=VARCHAR} ,#{userRoleId,jdbcType=DECIMAL} ,#{recommendCycle,jdbcType=DECIMAL} ,#{recommendTime,jdbcType=DECIMAL} ,#{validFlag,jdbcType=DECIMAL} ,#{createTime} ,#{updateTime}
        )
	</insert>

插入操作一直报:java.sql.SQLException: 无效的列类型

后来发现是日期没有指明数据类型导致 无法识别

改后:

<insert id="saveSysRecommendConfig" parameterType="com.xingshoufu.common.vo.SysRecommendConfig">
		<selectKey resultType="Long" order="BEFORE" keyProperty="recommendConfigId">
			SELECT SEQ_T_SYS_RECOMMEND_CONFIG.nextval AS recommendConfigId FROM DUAL
		</selectKey>
        INSERT INTO T_SYS_RECOMMEND_CONFIG (
        RECOMMEND_CONFIG_ID ,RECOMMEND_CONFIG_NAME ,USER_ROLE_ID ,RECOMMEND_CYCLE ,RECOMMEND_TIME ,VALID_FLAG ,CREATE_TIME ,UPDATE_TIME 
        ) VALUES (
        #{recommendConfigId,jdbcType=DECIMAL} ,#{recommendConfigName,jdbcType=VARCHAR} ,#{userRoleId,jdbcType=DECIMAL} ,#{recommendCycle,jdbcType=DECIMAL} ,#{recommendTime,jdbcType=DECIMAL} ,#{validFlag,jdbcType=DECIMAL} ,#{createTime,jdbcType=DATE} ,#{updateTime,jdbcType=DATE}
        )
	</insert>

总结:开发在于细节,不能偷懒

转载于:https://my.oschina.net/jamescasta/blog/667383

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值