Java での MySQL の日付時刻とタイムスタンプの管理
Java アプリケーションから MySQL データベースを操作する場合、日付と時刻の情報を処理することは困難になる可能性があります。利用可能なデータ型が異なるため、課題が生じます。適切な妥協点を見つけるには、各タイプの特性を理解することが重要です。
Java での表現
Java では、日付は通常、java.util によって表されます。デートクラス。このクラスは、日付と時刻の情報の両方を含むタイムスタンプをカプセル化します。 java.util.Date の精度は通常、ミリ秒単位です。
MySQL での表現
MySQL は、DATE、TIME、TIMESTAMP の 3 つの標準日付と時刻の型を提供します。 JDBC では、これらの型はそれぞれ java.sql.Date、java.sql.Time、および java.sql.Timestamp にマップされます。これらのクラスは java.util.Date.
のサブクラスです。java.util.Date とは異なり、java.sql.Date には日付情報のみが含まれ、java.sql.Time には時間情報のみが含まれます。一方、java.sql.Timestamp は、日付と時刻の情報を組み合わせます。これらの型の精度はデータベースによって異なりますが、多くの場合ミリ秒単位です。
タイムスタンプの保存
タイムスタンプをデータベースに保存するには、PreparedStatement# を使用できます。 setTimestamp() メソッド。
<code class="java">java.util.Date date = getItSomehow(); Timestamp timestamp = new Timestamp(date.getTime()); preparedStatement = connection.prepareStatement("SELECT * FROM tbl WHERE ts > ?"); preparedStatement.setTimestamp(1, timestamp);</code>
タイムスタンプの取得
データベースからタイムスタンプを取得するには、ResultSet#getTimestamp() メソッドを使用できます。
<code class="java">Timestamp timestamp = resultSet.getTimestamp("ts"); java.util.Date date = timestamp; // You can just upcast.</code>
これらのさまざまなデータ型とその使用パターンを理解することで、MySQL データベースと接続するときに Java アプリケーションで日付時刻とタイムスタンプを効果的に管理できます。
以上がJava アプリケーションで MySQL の日付時刻とタイムスタンプを効果的に管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。