Как напечатать используемый SQL-запрос при использовании PreparedStatement (JDBC) - PullRequest
3 голосов
/ 25 февраля 2012

Я использовал PreparedStatement в моей Java-программе.Мне нужно отладить SQL-запрос, потому что он не работает нормально.

Можно ли распечатать использованный оператор SQL со значениями, вставленными

, например, в PreparedStatement:

выберите * из таблицы, где a =?

, и чем я могу установить?

, могу ли я напечатать используемый SQL, например:

select * из таблицы, где a = 1

1 Ответ

3 голосов
/ 25 февраля 2012

Это невозможно сделать с помощью самого интерфейса java.sql.PreparedStatement; это зависит от реализации вашим поставщиком базы данных.

Но тебе повезло; драйвер MySQL позволяет вам сделать это, используя toString реализацию:

http://www.avajava.com/tutorials/lessons/how-do-i-display-a-prepared-statement-with-bind-variables-using-mysql.html

Вы должны знать, что использование этой специфической для поставщика функции привязывает ваш код к MySQL. Вы не можете изменить базы данных без изменения вашего кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...