Erreur JDBC : gestion de l'horodatage non représentable
Dans une application Java, vous pouvez rencontrer le message d'erreur "...'0000-00- 00 00:00:00' ne peut pas être représenté comme java.sql.Timestamp" lors de l'interrogation d'une table de base de données MySQL contenant des valeurs d'horodatage. Cela se produit lorsque la table a une valeur d'horodatage par défaut de « 0000-00-00 00:00:00 », qui représente une date qui n'est pas valide selon la classe Java Timestamp.
Solution JDBC : Configuration du comportement de date zéro
Pour résoudre ce problème sans modifier la structure de la table de base de données, vous pouvez configurer la connexion JDBC pour gérer les valeurs de temps zéro comme nulles. Ceci peut être réalisé en ajoutant le paramètre suivant à l'URL JDBC :
zeroDateTimeBehavior=convertToNull
L'URL JDBC modifiée ressemblerait à ceci :
jdbc:mysql://yourserver:3306/yourdatabase?zeroDateTimeBehavior=convertToNull
En ajoutant ce paramètre, chaque fois que la base de données renvoie une valeur d'horodatage de « 0000-00-00 00:00:00 », le pilote JDBC la convertira automatiquement en une valeur nulle dans ResultSet. Cela élimine l'erreur et vous permet de traiter le ResultSet sans aucun problème.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!