与 java.time 对象的 JDBC 数据交换
问题:如何在我的对象中包含 java.time 类型使用 JDBC 的 SQL 数据库,特别是 H2 数据库引擎?
答案:有两种方法可以通过 JDBC 来协调与 java.time 对象的数据交换:
符合 JDBC 4.2 的驱动程序
不兼容 JDBC 4.2 的驱动程序
使用 H2 的示例代码数据库
JDBC 4.2符合
LocalDate today = LocalDate.now(ZoneId.of("America/Montreal")); // Insert row preparedStatement.setObject(1, today.minusDays(1)); preparedStatement.executeUpdate(); preparedStatement.setObject(1, today); preparedStatement.executeUpdate(); preparedStatement.setObject(1, today.plusDays(1)); preparedStatement.executeUpdate(); // Retrieve data LocalDate localDate = myResultSet.getObject("date_", LocalDate.class);
不符合 JDBC 4.2
// Insert row preparedStatement.setDate(1, java.sql.Date.valueOf(today)); preparedStatement.executeUpdate(); // Retrieve data java.sql.Date sqlDate = myResultSet.getDate("date_"); LocalDate localDate = sqlDate.toLocalDate();
以上是如何在H2数据库中使用JDBC处理java.time对象?的详细内容。更多信息请关注PHP中文网其他相关文章!