p6spy监控java程序中使用到的所有SQL

    Spring+IBatis框架SQL输出串不能显示SQL语句里所包含的参数,ibatis是如何输出SQL语句以便跟踪调试呢?通常我们是通过配置log4j来输出ibatis的SQL语句.最近在测试项目的时候,由于想知道程序运行时所执行到的SQL语句从而定位bug,所以采用P6spy来拦截所有执行的SQL语句,它会把SQL MAP中的SQL语句包含参数完整的输出到日志中。下面把如何在项目中配置 P6spy给大家分享一下
1. 在p6spy官方网站下载p6spy.jar,放到本地的maven仓库里,然后在项目的pom.xml指定所依赖的p6spy
2. 下载 spy.properties 文件,放到 src/test/resources目录下,修改spy.properties文件指定数据库驱动为  realdriver=oracle.jdbc.driver.OracleDriver。指定日志记录文件位置:logfile=c:/spy.log
3. 修改 spring-jdbc.xml
使 <property>    <value>oracle.jdbc.driver.OracleDriver</value> </property>

改成
<property><value>  com.p6spy.engine.spy.P6SpyDriver </value></property>

通过以上三个步骤就可以运行测试脚本,在spy.log文件中就可以看到程序运行时所执行的sql语句

你可能感兴趣的:(java,spring,oracle,sql,ibatis)