从ResultSet中获取日期以与java.time类一起使用

无论如何,要从中获取与java.time(Java 8中的新功能)兼容的时间类ResultSet

我知道你可以使用ResultSetgetDategetTimestamp但这些方法的返回java.sql.Date/java.sql.Timestamp这是现在已经过时,因此它似乎是不好的做法,以创建一个使用这些对象ZonedDateTime或类似。

回答:

大多数数据库供应商尚不支持JDBC 4.2。该规范说,将/应该使用现有方法和支持新java.time类型。无需提供任何显式转换(无需更改API)。LocalDatesetObject(...)getObject()

如缺少Derby-mailing list 所述,可以通过手动转换来解决缺少支持的问题。

就像是:

LocalDate birthDate = resultSet.getDate("birth_date").toLocalDate();

如您所见,这些转换使用了不建议使用的类型java.sql.Date等,另请参见javadoc。

以上是 从ResultSet中获取日期以与java.time类一起使用 的全部内容, 来源链接: utcz.com/qa/424302.html

回到顶部