原因
MySQL中的create_time类型为datetime
Java中create_time类型为date
二者类型不匹配!!!
解决办法
java类型与MySQL类型要对应
方法一
将MySQL中的create_time类型由datetime改为date
缺陷:只显示年-月-日,不显示具体时-分-秒
方法二
将java的create_time类型由date改为timestamp类型
![](https://i-blog.csdnimg.cn/blog_migrate/1e70aa57169d9fa4f73a443728c0ba87.png)
这样就可以成功从数据库中获取时间,解决异常
那该timestamp类型如何获取当前的时间,保存到数据库中呢?
java获取当前时间戳:年-月- 日 时:分:秒:毫秒
Timestamp timestamp = newTimestamp(System.currentTimeMillis());
这样问题就都解决啦~
补充
timestamp的时间格式中有毫秒,那如何将它的格式改成自己想要的时间格式呢?
在get()方法中,时间格式化
public String getCreateTime() {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return simpleDateFormat.format(this.createTime);
}
同时附上java与mysql类型对应的图片
![](https://i-blog.csdnimg.cn/blog_migrate/04897cb4971ce287422474131c95af02.png)