質問: java.time 型の処理方法SQL データベースを使用した JDBC 経由の LocalDate などH2?
従来のアプローチ: PreparedStatement::setDate および ResultSet::getDate の使用は、古い java.sql.Date 型に対して機能します。ただし、これらの問題のあるレガシー クラスは避けることが望ましいです。
最新のアプローチ: 2 つの主なルートがあります:
JDBC 4.2 準拠ドライバーの使用例:
// Insert LocalDate as SQL DATE preparedStatement.setObject(1, myLocalDate); // Retrieve LocalDate from SQL DATE LocalDate localDate = myResultSet.getObject("my_date_column", LocalDate.class);
非準拠ドライバーの使用例ドライバー:
// Convert LocalDate to java.sql.Date for insertion java.sql.Date mySqlDate = java.sql.Date.valueOf(myLocalDate); preparedStatement.setDate(1, mySqlDate); // Convert java.sql.Date to LocalDate after retrieval LocalDate localDate = mySqlDate.toLocalDate();
推奨事項: 可能な限り JDBC 4.2 準拠のアプローチを使用してください。よりシンプルでタイプセーフです。ただし、JDBC 4.2 をサポートしていないドライバーでは、非準拠のメソッドを引き続き使用できます。
以上がJDBC データベースで java.time.LocalDate オブジェクトを挿入および取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。