Error setting null for parameter

"在尝试向Oracle数据库插入数据时遇到错误,提示无法插入空值,特别是时间类型字段。错误信息涉及到JDBC类型和其他列类型的不匹配。解决办法是在SQL语句中为时间类型字段指定jdbcType,如`#{uneffectTime,jdbcType=DATE}
摘要由CSDN通过智能技术生成

给oracle数据库插入数据的时候报错说不能插入空值:

Error setting null for parameter #3 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property.
java.sql.SQLException: 无效的列类型: 1111
	at oracle.jdbc.driver.OracleStatement.getInternalType(OracleStatement.java:3950) ~[ojdbc6-11.2.0.3.jar:11.2.0.3.0]
	at oracle.jdbc.driver.OraclePreparedStatement.setNullCritical(OraclePreparedStatement.java:4559) ~[ojdbc6-11.2.0.3.jar:11.2.0.3.0]
	at oracle.jdbc.driver.OraclePreparedStatement.setNull(OraclePreparedStatement.java:4541) ~[ojdbc6-11.2.0.3.jar:11.2.0.3.0]
	at oracle.jdbc.driver.OraclePreparedStatementWrapper.setNull(OraclePreparedStatementWrapper.java:1283) ~[ojdbc6-11.2.0.3.jar:11.2.0.3.0]
	at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.setNull(HikariProxyPreparedStatement.java) ~[HikariCP-3.4.5.jar:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_91]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_91]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_91]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_91]

查了资料说是oracle数据库不支持直接插入null的时间类型,
解决办法
在sql语句插入值的时候加上相关类型{uneffectTime,jdbcType=DATE}

 <insert id="addRole" parameterType="com.sie.demo.entity.Role">
        insert into role(role_id,role_name,effect_time,uneffect_time,note,status,create_time,update_time)
         values (ROLE_ROLE_ID.NEXTVAL,#{roleName},#{effectTime,jdbcType=DATE},#{uneffectTime,jdbcType=DATE},#{note},#{status},#{createTime},#{updateTime})
    </insert>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值