一尘不染

日期时间是否等效于java.sql?(有java.sql.datetime吗?)

mysql

到目前为止,我还没有找到明确的答案。

我想使用PreparedStatement知道SQL类型DATETIME和Java类型的等效项。

我发现:http :
//www.java2s.com/Code/Java/Database-SQL-
JDBC/StandardSQLDataTypeswithTheirJavaEquivalents.htm

但是它指出SQL类型“
DATETIME”与sql.date相同,但是在查看SQL日期文档时(http://download.oracle.com/javase/7/docs/api/java/sql/Date。
html),表示时间已被截断(全零)。

我想要的是能够指定一个preparedStatement.setDateTime()或某种形式。

我看到的唯一其他方法是使用时间戳,但这将要求我更改列类型,而我无法想象其他人以前从未遇到过此问题?

有什么提示吗?

编辑:我正在使用MYSQL。


阅读 348

收藏
2020-05-17

共1个答案

一尘不染

java.sql包具有三种日期/时间类型:

您想要最后一个:java.sql.Timestamp

如果使用这些类型,则无需调用特定的setter。只需使用:

java.util.Date date = new Date();
Object param = new java.sql.Timestamp(date.getTime());
// The JDBC driver knows what to do with a java.sql type:
preparedStatement.setObject(param);
2020-05-17