p6spy可以将hibernate的hql或者ibatis中的占位符『? , :name』等等转换为标准sql进行输出。
下载地址:
http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22p6spy%22%20AND%20a%3A%22p6spy%22
说明文档:
http://p6spy.github.io/p6spy/2.0/configandusage.html#confusage
使用方式(1.X和2.X的配置方式略有不同,这里以2.X版本配置mysql为例):
1.将p6spy-2.X.jar拷贝到项目的lib下;
2.将源码中的spy.properties拷贝到src下,即编译后的根路径下;
3.修改spy.properties中的driverlist=com.mysql.jdbc.Driver,其它属性默认即可,也可按需修改,比如开启appender=com.p6spy.engine.spy.appender.StdoutLogger,这样可以在控制台查看sql输出,相关属性说明重点看说明文档吧;
4.修改项目中的数据源配置信息,比如使用tomcatJNDI的配置方式时,数据源配置中的driverClassName="com.p6spy.engine.spy.P6SpyDriver"
和 url="jdbc:p6spy:mysql://localhost:3306/dbname",其它属性配置不变;
5.启动tomcat,当有hibernateHql输出时,就会紧跟着打印转换后的标准sql。
给出一个我在开发环境下的配置信息:
driverlist=com.mysql.jdbc.Driver
dateformat=yyyy-MM-dd hh:mm:ss,SSS
appender=com.p6spy.engine.spy.appender.StdoutLogger
logMessageFormat=com.p6spy.engine.spy.appender.MultiLineFormat
databaseDialectDateFormat=yyyy-MM-dd hh:mm:ss,SSS
如果希望使用log4j输出日志,可以配置如下:
1.spy.properties中启用appender=com.p6spy.engine.spy.appender.Slf4JLogger;
2.log4j.properties中配置如下:
log4j.rootLogger=info,stdout log.filepath=/usr/local/logs/log4j logfile.filename=log4j_DailyRolling.log log4j.logger.p6spy=INFO,logfile log4j.additivity.p6spy=true log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %c{1}:%L %5p - %m%n log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender log4j.appender.logfile.DatePattern='.'yyyy-MM-dd log4j.appender.logfile.File=${log.filepath}/${logfile.filename} log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=%d %p [%X{userName}][%X{userLocale}][%c] - <%m>%n
3.必须的jar包:p6spy-2.3.1.jar,log4j-1.2.16.jar,slf4j-api-1.6.1.jar,slf4j-log4j12-1.6.1.jar,也可以直接下载p6spy-2.3.1-log4j-nodep.jar,这一个包里面就包含了前面4个包。
相关推荐
P6spy是一个JDBC Driver的包装工具,p6spy通过对JDBC Driver的封装以达到对SQL语句的监听和分析,以达到各种目的。 p6spy的安装步骤: 1. 下载p6spy的安装包 2. 把p6spy的jar包放到Classpath中,如果是WEB App...
P6Spy 是一个可以用来在应用程序中拦截和修改数据操作语句的开源框架。通过 P6Spy 我们可以对 SQL 语句进行拦截,相当于一个 SQL 语句的记录器,这样我们可以用它来作相关的分析,比如性能分析。P6Spy 用 Log4J 来...
p6spy
p6spy.jar 博文链接:https://lxy19791111.iteye.com/blog/131293
p6spy-sql监控 p6spy-sql监控 p6spy-sql监控
p6spy简介,p6spy完整显示hibernate的SQL语句 包括参数,spring p6spy 配置
这是自己整合的Spring 3.0+Struts2+Mybatis 3 + p6spy +ehcache的平台框架,内含一点示例代码,目前ehcache没有使用。直接编译后发布就能用 测试环境基于JDK1.6+Tomcat 6.0. 大家拿到后请根据实际情况修改 ...
p6spy使用 sql跟踪 排除resultset 去掉问号
p6spy监控jdbc连接oracle查看执行时长,使用配置说明
p6spy 是对 mybatis、hibernate 的 SQl 监控,提高在开发过过程中效率。 本人直男癌一枚,希望我提供的 p6spy 的配置和使用对亲们有帮助,谢谢!
配置P6Spy和SQL Profiler
集成P6spy 一 系统集成P6spy
p6spy去掉结果集版 我的博客有相关的使用说明.
p6spy是一种可以在控制台上打印出sql语句的工具类,可以和多种数据库交互框架结合在一起,调试程序非常方便
p6spy支持jpa(如hibernate、ibatis/mybatis)打印完整sql。 此为本人在p6spy源码基础上进行修改,使其能在sql日志中过滤resultset,是sql更简洁,开发更方便。
p6spy用于监听SQL,配置简答,但是git上下载的是gradle版本,需要重新转maven方可运行,本版本是maven工程,导入即可使用。
p6spy.jar 重新修改文件大小逻辑使其生效
虽然在hibernate中有show_sql选项,但是显示出来的语句大多类似 select * from xxx where value=? 但是有时候我们需要得到完整的SQL语句,怎么办呢?使用P6SPY就可以完成这个任务
附件中就是p6spy改造去掉resultset和添加每日归档的jar。 方法:打开eclipse,导入-eclipse,进行自己的修改(已改完) 将src复制到-src下面,运行ant命令即可在dist生成p6spy.jar文件 参照sp6.properties进行修改...
对p6spy的使用做了些简化,其实主要目的有两个:1是为了学习p6spy的源码,2是简化使用方法,使一些非开发人员也能使用此工具监听sql,压缩包内附源码和说明文档