Maison > Java > javaDidacticiel > Comment puis-je récupérer la requête construite à partir d'un PreparedStatement en Java ?

Comment puis-je récupérer la requête construite à partir d'un PreparedStatement en Java ?

Mary-Kate Olsen
Libérer: 2024-11-06 04:34:02
original
875 Les gens l'ont consulté

How Can I Retrieve the Constructed Query from a PreparedStatement in Java?

Récupération de la requête construite à partir d'un PreparedStatement

Lorsque vous travaillez avec des instructions préparées en Java à l'aide de java.sql.PreparedStatement, il devient essentiel de déboguer et vérifiez la requête réelle en cours d'exécution. Cependant, il n'existe aucune méthode inhérente à l'API JDBC pour récupérer directement la requête construite.

Solution

Heureusement, des pilotes JDBC spécifiques peuvent fournir une solution de contournement via PreparedStatement# méthode toString().

Vérifiez auprès de l'implémentation du pilote

Les pilotes tels que PostgreSQL 8.x et MySQL 5.x, les pilotes JDBC peuvent renvoyer la requête SQL complète lors de l'appel PreparedStatement#toString(). Pour utiliser cette fonctionnalité :

<code class="java">System.out.println(preparedStatement);</code>
Copier après la connexion

Option alternative

Si le pilote JDBC ne dispose pas de cette fonctionnalité, envisagez d'utiliser un wrapper d'instructions qui intercepte tous les appels aux méthodes setXxx() et construit une chaîne SQL lorsque toString() est appelé. Une bibliothèque comme P6Spy offre de telles fonctionnalités.

Implémentation de la demande

Dans les cas où le pilote ne prend pas en charge la récupération de la requête, soumettez une demande de fonctionnalité à l'équipe de développement. Le comportement toString() peut être implémenté pour donner accès à la requête construite à des fins de débogage.

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