首頁 > 資料庫 > mysql教程 > 如何在 SQL 資料庫中插入和取得 java.time 物件?

如何在 SQL 資料庫中插入和取得 java.time 物件?

Linda Hamilton
發布: 2025-01-22 01:32:08
原創
231 人瀏覽過

How Can I Insert and Fetch java.time Objects in an SQL Database?

java.time物件與SQL資料庫整合

本指南介紹如何將 java.time 物件(在 Java 8 中引入)與 SQL 資料庫無縫整合。 此方法取決於 JDBC 驅動程式與 Java 8 的兼容性。

使用 Java 8 相容驅動程式處理 java.time

現代 JDBC 驅動程序,例如 H2 的內建驅動程序,旨在直接與 java.time 類型一起使用。 這大大簡化了過程。

資料插入:

直接使用setObject()進行插入,讓驅動自動處理型別轉換:

<code class="language-java">myPreparedStatement.setObject(1, myLocalDate); </code>
登入後複製

資料擷取:

類似地,使用 getObject() 檢索資料並指定預期的 java.time 類別:

<code class="language-java">LocalDate localDate = myResultSet.getObject("my_date_column_", LocalDate.class);</code>
登入後複製

使用不符合 Java 8 的驅動程式

較舊的 JDBC 驅動程式可能需要在 java.timejava.sql 類型之間進行手動轉換。

資料插入:

在插入之前將 java.time 物件轉換為 java.sql.Date

<code class="language-java">java.sql.Date mySqlDate = java.sql.Date.valueOf(myLocalDate);
preparedStatement.setDate(1, mySqlDate);</code>
登入後複製

資料擷取:

擷取資料為java.sql.Date,然後轉換回LocalDate

<code class="language-java">java.sql.Date mySqlDate = myResultSet.getDate(1);
LocalDate myLocalDate = mySqlDate.toLocalDate();</code>
登入後複製

總結

雖然使用符合 Java 8 的驅動程式是高效、直接處理 java.time 物件的建議方法,但轉換方法提供了與舊驅動程式相容的可行解決方案。 選擇最適合您的資料庫和 JDBC 驅動程式設定的方法。

以上是如何在 SQL 資料庫中插入和取得 java.time 物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板