mysql中时间戳类型被java.util.Date识别为不合法的解决办法

博客指出当数据表中time字段类型为timestamp且值为“0000-00-00 00:00:00”时,用select语句取数据会出现java.sql.SQLException异常,原因是java.util.Data识别其为不合法。解决办法是修改url,给jdbc加上参数zeroDateTimeBehavior并使其值为convertToNull。

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

当数据表中有记录关于time的字段类型为戳类型(属性为timestamp),并且其值为:“0000-00-00 00:00:00”时,

程序使用select 语句从中取数据时会出现以下异常:

java.sql.SQLException:Value '0000-00-00' can not be represented as java.sql.Date
 

原因就是java.util.Data识别它为不合法。

经过查询资料后,发现“0000-00-00 00:00:00”是一个很特殊的存在,要想不被报错,就得修改url.

给jdbc加上参数——zeroDateTimeBehavior

使得zeroDateTimeBehavior=convertToNull

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///graduate?characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull 
jdbc.username=root
jdbc.password=123456
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值