首頁 >資料庫 >mysql教程 >如何使用 JDBC 插入和檢索'java.time.LocalDate”物件?

如何使用 JDBC 插入和檢索'java.time.LocalDate”物件?

Barbara Streisand
Barbara Streisand原創
2025-01-22 01:37:08450瀏覽

How to Insert and Retrieve `java.time.LocalDate` Objects using JDBC?

使用 JDBC 將 java.time.LocalDate 物件插入 SQL 資料庫中及從中擷取

問題:

如何使用 JDBC(針對 H2 等 SQL 資料庫)處理 java.time 類型,例如 LocalDate

解答:

有兩種方法:

相容於 JDBC 4.2 的驅動程式:

  • 插入資料:

    <code class="language-java">  myPreparedStatement.setObject(1, myLocalDate); // 自动转换</code>
  • 擷取資料:

    <code class="language-java">  LocalDate localDate = myResultSet.getObject("my_date_column_", LocalDate.class); // 预期返回类型</code>

不相容的驅動程式(JDBC 4.2 之前):

  • 插入資料: 使用 java.sql.Date.valueOf(myLocalDate)LocalDate 轉換為 java.sql.Date
  • 擷取資料: 使用 sqlDate.toLocalDate()java.sql.Date 轉換為 LocalDate

Java 8 的 java.time 框架:

  • 引進了新的、改良的日期時間類別(例如 LocalDate)。
  • 避免了遺留類別(例如 java.util.DateCalendar)的問題。
  • 能夠直接與 JDBC 資料庫交換資料(當使用相容的驅動程式時)。

注意: H2 支援 JDBC 4.2,因此您可以使用更簡單的相容方法(第一種方法)。

以上是如何使用 JDBC 插入和檢索'java.time.LocalDate”物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn