1. ホーム
  2. java

[解決済み] java.sqlでdatetimeに相当するものはありますか?(java.sql.datetimeはあるのか?)

2023-06-18 02:03:32

質問

今のところ、これに対する明確な回答は見つかっていません。

SQLのDATETIME型とjavaの型、PreparedStatementを使った場合の等価関係を知りたいのですが。

見つけてきました。 http://www.java2s.com/Code/Java/Database-SQL-JDBC/StandardSQLDataTypeswithTheirJavaEquivalents.htm

しかし、SQL タイプ "DATETIME" は sql.date と同じであると記載されていますが、SQL date のドキュメントを見ると ( http://download.oracle.com/javase/7/docs/api/java/sql/Date.html ) を見ると、時刻は切り捨てられる (すべてゼロ) と書いてあります。

私が欲しいのは、このように preparedStatement.setDateTime() などと指定できることです。

私が見る唯一の他の方法は、タイムスタンプを使用することですが、それは私が列のタイプを変更する必要があります、一方、私は誰かが前にこの問題がなかったと想像することはできませんか?

何かヒントはありますか?

編集:私はMYSQLを使用しています。

どのように解決するのですか?

java.sqlパッケージには、3つの日付/時刻型があります。

最後の1つを java.sql.Timestamp .

これらの型を使用する場合、特定のセッターを呼び出す必要はなく、ただ使用するだけです。

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);