JDBC 错误:处理无法表示的时间戳
在 Java 应用程序中,您可能会遇到错误消息“...'0000-00-查询包含时间戳值的 MySQL 数据库表时,“00 00:00:00' 无法表示为 java.sql.Timestamp”。当表的默认时间戳值为“0000-00-00 00:00:00”时,会发生这种情况,该值表示根据 Java Timestamp 类无效的日期。
JDBC 解决方案: 配置零时间行为
要在不修改数据库表结构的情况下解决此问题,您可以配置 JDBC 连接将零时间值处理为 null。这可以通过将以下参数添加到 JDBC URL 来实现:
zeroDateTimeBehavior=convertToNull
修改后的 JDBC URL 将如下所示:
jdbc:mysql://yourserver:3306/yourdatabase?zeroDateTimeBehavior=convertToNull
通过添加此参数,每当数据库返回时如果时间戳值为“0000-00-00 00:00:00”,则 JDBC 驱动程序会自动将其转换为 ResultSet 中的空值。这消除了错误并允许您毫无问题地处理结果集。
以上是如何处理 JDBC 中的“0000-00-00 00:00:00”时间戳错误?的详细内容。更多信息请关注PHP中文网其他相关文章!