在Java 管理MySQL 日期時間和時間戳
從Java 應用程式使用MySQL 資料庫時,處理日期和時間資訊可以是由於可用的數據類型不同而面臨挑戰。要找到合適的折衷方案,了解每種類型的特徵非常重要。
Java 中的表示
在 Java 中,日期通常由 java.util 表示。日期類。該類別封裝了一個時間戳,其中包含日期和時間資訊。 java.util.Date 的精度通常以毫秒為單位。
MySQL 中的表示
MySQL 提供三種標準日期和時間類型:DATE、TIME 和 TIMESTAMP。在 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