如何将java日期类型存储到mysql日期类型?
如何将java日期类型存储到mysql日期类型?
看到你的Date
是一个java.sql.Timestamp
(特别是如果你想要持久化小时,分钟,秒……)
您可以将java.util.Date
转换为Timestamp
如下所示: new Timestamp(date.getTime())
使用Calendar类的某个实例将日期转换为字符串并在SQL查询中使用该字符串。
使用PreparedStatement
执行SQL语句,如下所示:
Date date = ...; PreparedStatement ps = connection.prepareStatement("INSERT INTO mytable (this, that, datecol) values (?, ?, ?)"); ps.setString(1, "hello"); ps.setString(2, "world"); ps.setTimestamp(3, new java.sql.Timestamp(date.getTime())); ps.executeUpdate();
当你这样做时,你让JDBC驱动程序将它转换为数据库期望的格式,这样你的程序就可以保持数据库独立(你不需要像MySQL期望的那样处理格式化) 。
查询数据库时,还要使用PreparedStatement
并使用ResultSet
上的getTimestamp()
方法将日期作为java.sql.Timestamp
对象java.sql.Timestamp
。