JDBC エラー: 表現できないタイムスタンプの処理
Java アプリケーションでは、エラー メッセージ「...'0000-00-」が表示される場合があります。タイムスタンプ値を含む MySQL データベース テーブルをクエリする場合、00 00:00:00' は java.sql.Timestamp として表すことができません。これは、テーブルのデフォルトのタイムスタンプ値が「0000-00-00 00:00:00」であり、Java Timestamp クラスによれば無効な日付を表す場合に発生します。
JDBC ソリューション: ゼロ時点の動作の構成
データベース テーブル構造を変更せずにこの問題を解決するには、ゼロ時点の値を null として処理するように JDBC 接続を構成できます。これは、次のパラメータを JDBC URL に追加することで実現できます:
zeroDateTimeBehavior=convertToNull
変更された JDBC URL は次のようになります:
jdbc:mysql://yourserver:3306/yourdatabase?zeroDateTimeBehavior=convertToNull
このパラメータを追加すると、データベースが返されるたびにタイムスタンプ値が「0000-00-00 00:00:00」の場合、JDBC ドライバーはそれを ResultSet 内の null 値に自動的に変換します。これによりエラーが解消され、問題なく ResultSet を処理できるようになります。
以上がJDBC で「0000-00-00 00:00:00」タイムスタンプ エラーを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。