SSH——mysql不能插入当前时间

来源:互联网 发布:mac teamviewer官网 编辑:程序博客网 时间:2024/06/07 07:28

现象:

用Mysql5.6出现时间问题Incorrect datetime value: '' for column'createtime'

 

在向数据库插入当前时间的时候报出的错误。刚开始还以为是自己的代码写的有问题,可是对着源码看,发现没有问题呀?那怎么老师那里可以向数据库顺利插入数据库,而我这里运行起来却报了错误。这是怎么回事儿?

 

        后来让亮亮帮忙看了看,他当时是把数据库订单表oders里头的订单时间数据类型改了,然并卵。此路不通。 一头扎进百度,发现关于这个问题,“先人们”都经过自己的头破血流给了我们很好的建议。突然发现此处就是个坑,完了还是那种让人前仆后继的那种坑。所以,留下短文一篇,希望看到的人不要再毅然决然的入坑了。

 

解决方法:

1.跟开发环境有关。视频里头跟咱们还是有一两个代沟的,建议引入新版本的mysql连接的jar包,替换掉原来的。

MySQL驱动包mysql-connector-java-5.1.31.jar  

经过本人测试,此方法可行可靠。

 

2.后台转化。

第一种:

 

Date time= newjava.sql.Date(new java.util.Date().getTime());

 

第二种:

 

java用PreparedStatement来setDate,用问号的形式给日期问号赋值

 

pstmt.setTimestamp(8, newTimestamp(System.currentTimeMillis()));

 

pstmt.setDate(1, newjava.sql.Date(date1.getTime()));

pstmt.setDate(2, newjava.sql.Date(date2.getTime()));

 

第三:

 

其实向MySQL数据库里插入时间字段也是很容易的,只要设置为java.util.Date类型后,以Hibernate的Pojo类对象为例,pojo.set(newjava.util.Date());就可用了。

       小结

        解决的方法有很多种,君找一种适合自己的即可。在敲SSH的过程中抱着一种这个问题我一定可以找到解决方法的心态,干劲十足。这个项目让我享受解决问题的乐趣。希望你也可以。

2 0
原创粉丝点击