Java向MySQL插入当前时间
在写java程序且与数据库交互的时候,时间类型一直是一个比较头疼的问题,因为经常遇到时间类型不匹配的问题,有幸在网上找的一篇博客整理了4个方式,亲身实验觉得还不错,故整理在自己博客中,如有需要可以看原文https://blog.csdn.net/tianyazaiheruan/article/details/18705713
1. 将java.util.Date类型的时间转成mysql数据库识别的java.sql.Date类型时间
注:java.util.Date是java.sql.Date的父类
Date time= new java.sql.Date(newjava.util.Date().getTime());
2. java用PreparedStatement来setDate,用问号的形式给日期问号赋值
pstmt.setTimestamp(8, newTimestamp(System.currentTimeMillis()));
pstmt.setDate(1, new java.sql.Date(newDate().getTime()));
3.使用hibernate提供的数据库操作方法
其实向mysql数据库里插入时间字段也是很容易的,只要设置为java.util.Date类型后,以Hibernate的Pojo类对象为例,pojo.set(new java.util.Date());就可用了。
4. 使用Timestamp的valueOf方法
以下附录在网上找到的相关资料:
Mysql 与 java 的时间类型
MySql的时间类型有 Java中与之对应的时间类型
date java.sql.Date
Datetime java.sql.Timestamp
Timestamp java.sql.Timestamp
Time java.sql.Time
Year java.sql.Date
于是便通过以下方式去实现:
Date date = new Date();//获得系统时间.
String nowTime = new SimpleDateFormat(“yyyy-MM-ddHH:mm:ss”).format(date);//将时间格式转换成符合Timestamp要求的格式.
Timestamp goodsC_date =Timestamp.valueOf(nowTime);//把时间转换