ホームページ >データベース >mysql チュートリアル >SQL データベースに java.time オブジェクトを挿入およびフェッチするにはどうすればよいですか?

SQL データベースに java.time オブジェクトを挿入およびフェッチするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-22 01:32:08237ブラウズ

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 の処理

H2 の組み込みドライバーなどの最新の JDBC ドライバーは、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.time 型と java.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.time オブジェクトを効率的かつ直接処理するには、Java 8 準拠のドライバの使用が推奨されるアプローチですが、変換方法は、古いドライバとの互換性のための実行可能なソリューションを提供します。 データベースと JDBC ドライバーのセットアップに最も適した方法を選択してください。

以上がSQL データベースに java.time オブジェクトを挿入およびフェッチするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。