Mysql date非空java处理

本文介绍了解决PHP项目中非空date类型字段导致Java转换异常的问题。通过设置JDBC连接属性zeroDateTimeBehavior,可以有效避免因日期格式不兼容引发的错误。

背景 : 公司有个项目外包成php项目,他们把date类型的字段设成了非空,这样他们存进去的数据就成了 0000-00-00 00:00:00,而这种数据格式在java中是不能直接转换的,会报以下错误:java.sql.SQLException:Value '0000-00-00' can not be represented as java.sql.Date

 

解决方案:

在JDBC连接串中有一项属性:zeroDateTimeBehavior,可以用来配置出现这种情况时的处理策略,该属性有下列三个属性值:

    exception:默认值,即抛出SQL state [S1009]. Cannot convert value....的异常;

    convertToNull:将日期转换成NULL值;

    round:替换成最近的日期即0001-01-01或者是-62135798400000;

 

插入的时候可以new Date(-62135798400000)

若大家有更好的解决方法的话,希望告诉一下,相互交流

转载于:https://my.oschina.net/wxdl/blog/843905

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值