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() メソッド。
java.util.Date date = getItSomehow();
Timestamp timestamp = new Timestamp(date.getTime());
preparedStatement = connection.prepareStatement("SELECT * FROM tbl WHERE ts > ?");
preparedStatement.setTimestamp(1, timestamp);
タイムスタンプの取得
データベースからタイムスタンプを取得するには、ResultSet#getTimestamp() メソッドを使用できます。
Timestamp timestamp = resultSet.getTimestamp("ts");
java.util.Date date = timestamp; // You can just upcast.
これらのさまざまなデータ型とその使用パターンを理解することで、MySQL データベースとインターフェイスするときに Java アプリケーションで日付時刻とタイムスタンプを効果的に管理できます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3