mysql5.6时间问题_mysql5.6版本java插入时间的错误

新电脑无聊搭个SSH玩玩,数据库用了比较新的mysql5.6,因为oracle启动占比较多资源,所以一般电脑开机都会开着mysql

其实我早也知道可能会出问题,因为我之前在网上看到过说mysql5.6的时间类型变化比较大

结果搭起环境插入到时间的数据问题就出来,具体报错信息如下:

=========================================

Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '' for column 'createdatetime' at row 1

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2926)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1571)

at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1124)

at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:676)

at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1166)

at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1082)

at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1067)

at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeUpdate(FilterChainImpl.java:2721)

at com.alibaba.druid.filter.FilterAdapter.preparedStatement_executeUpdate(FilterAdapter.java:1069)

at com.alibaba.druid.filter.FilterEventAdapter

=========================================

上面的报错信息就看第一行,就知道,时间字段出现问题了

度娘了一下,暂时有两种方法解决:

方法一:把mysql的驱动jar包更新到最新的版本,本博文发出时间为止,最新的版本为5.1.34,下载地址我就没啦,我用maven的,

具体配置如下,懂得都懂

mysql

mysql-connector-java

5.1.34

方法二:检查一下代码,

如果时间字段加了

@Temporal(TemporalType.TIMESTAMP)

的话,

请改成如下:

@Temporal(TemporalType.TIME)

上面是hibernate的注解,大家应该都知道吧,因为我是用注解的,所以XML的自己看着办

以上两种方法,均经过本人亲测,都可以成功插入数据的

还有第三种方法,

就是用5.6之前的版本—_—(这不废话嘛)

呵呵,本文结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值