質問: java.time 型の処理方法SQL データベースを使用した JDBC 経由の LocalDate (H2?
Legacy など)アプローチ: 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.
をサポートしていないドライバーに対しては、非準拠のメソッドも引き続き使用できます。免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3