Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使ibatis日志成为完整的SQL语句,而不只是将参数替换为“?”_Java_Log4j_Ibatis - Fatal编程技术网

Java 如何使ibatis日志成为完整的SQL语句,而不只是将参数替换为“?”

Java 如何使ibatis日志成为完整的SQL语句,而不只是将参数替换为“?”,java,log4j,ibatis,Java,Log4j,Ibatis,使用下面显示的当前log4j.xml,我从user_id=?'的用户处获得类似“select*的日志” <logger name="com.ibatis"> <level value="debug"/> <appender-ref ref="IBATIS"/> </logger> <logger name="java.sql"> <level value="debug"/> <appen

使用下面显示的当前log4j.xml,我从user_id=?'的用户处获得类似“select*的日志”

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

我理解ibatis文档的方式是将查询的日志记录委托给java.sql包中的标准JDBC类。现在,您的示例日志输出表明使用了一条准备好的语句。这些通常的工作方式是预先将准备好的语句(包括问号占位符)发送到数据库服务器。实际值在绑定并执行查询时单独发送。直接的结果是,您期望得到的日志输出的扩展查询实际上从未在客户端构建,而是在数据库服务器本身构建

然而,有办法解决这个问题。您应该能够参考此处提出的答案以获得可能的解决方案: