使用p6spy让hibernate打印真正的sql 去掉结果集resultset版.
来源:互联网 发布:mindmanager 2017 mac 编辑:程序博客网 时间:2024/05/16 07:22
由于公司项目架构使用hibernate,在调试程序的时候hibernate打印的sql都是带占位符的,不是最原始的sql语句,这对我们开发人员来说是很痛苦的一件事情.经过一番波折在网上找到了这么一个jar包,它的原理是:拦截最底层的jdbc连接,监控所有jdbc操作,所以说会影响性能,建议使用的童鞋在项目发布的时候最好把他替换回来.
jar包下载地址:http://download.csdn.net/detail/qq413041153/4177575
1.如果你的datasource配置在hibernate或者spring的配置文件中,那么你需要将jar包放到编译路径下;如果你使用的是jndi之类的在tomcat配置文件里配置的数据源,那么就需要将jar放到tomcat的lib里面.提醒一句 :如果你这里是tomcar的jndi配置的话,需要删除tomcat工作目录项目内容,重新编译.
2.将数据源的classname替换成com.p6spy.engine.spy.P6SpyDriver,这个类会拦截你的数据库连接.
3.将spy.properties配置文件放到src根目录.(这里的src是指的你源码编译的初始根目录, 一般不改动的话就是src,有的项目如果需要多语版版本的可能是src/java是java源码src/c是别的源码,这时候你就要放到src/java下面).
realdriver1=com.mysql.jdbc.Driver realdriver2=com.informix.jdbc.IfxDriver realdriver3=COM.ibm.db2.jdbc.net.DB2Driver realdriver4=org.gjt.mm.mysql.Driver
5.找到excludecategories这个是定义你不喜欢的输出信息,也就是说他的值将不会被输出到log或打印在控制台.可的值有: error, info, batch, debug, statement,commit, rollback, result, resultset.这里的resultset是请过修改源码后加上的官方是不支持屏蔽到这个属性的.
appender=com.p6spy.engine.logging.appender.Log4jLogger appender=com.p6spy.engine.logging.appender.StdoutLogger appender=com.p6spy.engine.logging.appender.FileLogger
7.找到logfile,这个属性是定义你的log日志文件的存放位置.自己任意即可,如果你没选择输出到配置文件,其值默认即可.
最后说一下,p6spy官方现在已经找不到了,很旧没更新了,在文档里说是支持log4j的但是我调试了很久,
没能成功.不过我觉得这个功能可有可无,因为这个p6spy是有点耗费性能的 也就我们开发的时候用用,一般选
择输出到控制台就over了.Ok that's all.
- 使用p6spy让hibernate打印真正的sql 去掉结果集resultset版.
- 使用p6spy打印hibernate或者PreparedStatement的带参数值的sql语句
- 【p6spy】程序员开发利器P6spy——打印执行sql语句,mybatis、ibatis、Hibernate均可使用
- 采用p6spy显示Hibernate的SQL语句
- 显示hibernate 底层 SQL P6Spy的配置
- P6Spy和sping配合显示真正的SQL
- 使用结果集(ResultSet.absolute((2000)) )和 sql(top)分页的性能对比
- 使用p6spy 2监控及打印Spring 4 JdbcTemplate生成的SQL语句
- Spring4.0.2使用p6spy打印mybatis执行SQL
- 项目配置p6spy打印ibatis的完整sql
- 使用 P6Spy 来格式化 SQL 语句,支持 Hibernate 和 iBATIS
- P6spy sql跟踪使用
- 打印数据库查询结果ResultSet
- 采用p6spy完整显示hibernate的SQL语句
- 采用p6spy完整显示hibernate的SQL语句
- 采用p6spy完整显示hibernate的SQL语句
- 【转】采用p6spy完整显示hibernate的SQL语句
- 采用p6spy完整显示hibernate的SQL语句
- [C++学习] 对const变量的理解.
- struts2下使用checkbox的问题
- Linux系统终端界面(非图形界面)分辨率修改方法
- java读取资源文件:
- 开博了
- 使用p6spy让hibernate打印真正的sql 去掉结果集resultset版.
- Linux--递归计算目录md5
- java写的简单选票统计程序
- Objective-C 中的关键字 self 和 super
- java socket读字节问题
- 三月近况
- 【人生】不管你挣多少, 钱永远是问题
- oracle hibernate 临时表 存储过程
- 【IOS】实现IOS版的抽屉效果(点击,拖拽滑动)