2011-10-26 1 views
2

С текущим log4j.xml, показанным ниже, я получаю журналы типа 'select * от пользователей, где user_id =?'Как сделать полный SQL-запрос ibatis log, а не просто заменить аргумент '?'

<logger name="com.ibatis"> 
    <level value="debug"/> 
    <appender-ref ref="IBATIS"/> 
</logger> 
<logger name="java.sql"> 
    <level value="debug"/> 
    <appender-ref ref="IBATIS"/> 
</logger> 

ответ

1

Как я понимаю документацию Ibatis лесозаготовительной из запросов делегировано стандартных классов JDBC в пакете java.sql. Теперь ваш тестовый вывод журнала указывает, что используется подготовленный оператор. Способ, которым они обычно работают, заключается в том, что подготовленный оператор (включая заполнители вопросительного знака) отправляется на сервер базы данных заранее. Фактические значения отправляются отдельно, когда они были связаны и выполняется запрос. В качестве прямого результата расширенный запрос (выход журнала, который вы ожидаете получить) никогда не строится на стороне клиента, а скорее на сервере базы данных.

Однако есть проблемы вокруг этой проблемы. Вы должны уметь ссылаться на предлагаемый здесь ответ для возможного решения: Logging PreparedStatements in Java

 Смежные вопросы

  • Нет связанных вопросов^_^