Maison > Java > javaDidacticiel > Comment enregistrer l'instruction SQL réelle exécutée par un PreparedStatement en Java ?

Comment enregistrer l'instruction SQL réelle exécutée par un PreparedStatement en Java ?

Patricia Arquette
Libérer: 2024-11-12 15:20:02
original
659 Les gens l'ont consulté

How to Log the Actual SQL Statement Executed by a PreparedStatement in Java?

Consignation de l'instruction SQL réelle exécutée par une instruction PreparedStatement

En Java, lorsque vous travaillez avec des instructions préparées, il est utile de consigner l'instruction SQL réelle qui est exécuté. Cependant, par défaut, la journalisation de la chaîne SQL utilisée pour créer l'instruction affiche uniquement le modèle avec des espaces réservés ('?').

Défis liés à l'extraction d'une instruction SQL réelle

Les instructions préparées séparent l'instruction des paramètres. L'instruction est analysée et optimisée par la base de données, et les paramètres sont traités séparément. Par conséquent, il n'y a pas de représentation explicite de l'instruction SQL finale à exécuter.

Solutions possibles

  • Instruction de journalisation et paramètres séparément : Enregistrez le modèle de déclaration et la liste des paramètres. Bien qu'elle ne soit pas aussi pratique, cette approche fournit les informations nécessaires au débogage.
  • Création manuelle de la requête SQL : Construisez manuellement la requête SQL à l'aide du modèle d'instruction et des valeurs des paramètres. Cette méthode demande beaucoup de travail et est sujette aux erreurs.
  • Utilisation de bibliothèques tierces : Certaines bibliothèques offrent la possibilité de récupérer l'instruction SQL réelle après son exécution. Cependant, cela dépend de la bibliothèque et de la base de données spécifiques utilisées.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal