mybatis插入语句空值没有设置jdbcType报错

本文解决了一个关于Spring框架中出现的JDBC异常问题,具体表现为在使用MyBatis进行数据库操作时,因未正确指定参数的JdbcType而导致的错误。通过为每个参数明确指定其JdbcType,成功解决了该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Exception in thread "main" org.springframework.jdbc.UncategorizedSQLException: Error setting null for parameter #6 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: 无效的列类型: 1111 
; uncategorized SQLException for SQL []; SQL state [99999]; error code [17004]; 无效的列类型: 1111; nested exception is java.sql.SQLException: 无效的列类型: 1111 

需要在插入语句中设置jdbcType

如下

<insert id="insertCustomerLog1" parameterType="com.diyicai.customer.domain.CustomerLog">  
        insert into customer_log  
               (  
               ID,  
               CUSTOMER_SERVICE_USER_NAME,  
               user_name ,  
               CONTENT,  
               LOG_FIRST_TYPE,  
               STATUS,  
               LINKED_ID,  
               FEE,  
               ACCOUNT_FIRST_TYPE,  
               ACCOUNT_SECOND_TYPE,  
               ACCOUNT_THIRD_TYPE,  
               LOG_SECOND_TYPE,  
               LOG_IP,  
               MEMO  
               )  
               values  
               (  
               seq_customer_log.nextval ,  
               #{customerServiceUserName,jdbcType=VARCHAR} ,  
               #{username,jdbcType=VARCHAR},  
               #{content,jdbcType=VARCHAR},  
               #{logFirstType,jdbcType=NUMERIC},  
               #{status,jdbcType=NUMERIC},  
               #{linkedId,jdbcType=VARCHAR},  
               #{fee,jdbcType=NUMERIC},  
               #{accountFirstType,jdbcType=NUMERIC},  
               #{accountSecondType,jdbcType=NUMERIC},  
               #{accountThirdType,jdbcType=NUMERIC},  
               #{logSecondType,jdbcType=NUMERIC},  
               #{logIp,jdbcType=VARCHAR},  
               #{memo,jdbcType=VARCHAR}  
               )  
    </insert>  

 

参考: http://makemyownlife.iteye.com/blog/1610021

转载于:https://www.cnblogs.com/dashuai01/p/9509914.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值