mysql5.6时间问题_mysql5.6版本java插入时间的错误
新電腦無聊搭個(gè)SSH玩玩,數(shù)據(jù)庫用了比較新的mysql5.6,因?yàn)閛racle啟動(dòng)占比較多資源,所以一般電腦開機(jī)都會(huì)開著mysql
其實(shí)我早也知道可能會(huì)出問題,因?yàn)槲抑霸诰W(wǎng)上看到過說mysql5.6的時(shí)間類型變化比較大
結(jié)果搭起環(huán)境插入到時(shí)間的數(shù)據(jù)問題就出來,具體報(bào)錯(cuò)信息如下:
=========================================
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
=========================================
上面的報(bào)錯(cuò)信息就看第一行,就知道,時(shí)間字段出現(xiàn)問題了
度娘了一下,暫時(shí)有兩種方法解決:
方法一:把mysql的驅(qū)動(dòng)jar包更新到最新的版本,本博文發(fā)出時(shí)間為止,最新的版本為5.1.34,下載地址我就沒啦,我用maven的,
具體配置如下,懂得都懂
mysql
mysql-connector-java
5.1.34
方法二:檢查一下代碼,
如果時(shí)間字段加了
@Temporal(TemporalType.TIMESTAMP)
的話,
請改成如下:
@Temporal(TemporalType.TIME)
上面是hibernate的注解,大家應(yīng)該都知道吧,因?yàn)槲沂怯米⒔獾?#xff0c;所以XML的自己看著辦
以上兩種方法,均經(jīng)過本人親測,都可以成功插入數(shù)據(jù)的
還有第三種方法,
就是用5.6之前的版本—_—(這不廢話嘛)
呵呵,本文結(jié)束
總結(jié)
以上是生活随笔為你收集整理的mysql5.6时间问题_mysql5.6版本java插入时间的错误的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dapperpoco mysql_Dap
- 下一篇: mysql手动写的时间_Mysql日期和