P6spy 和 SqlProfiler 打印JDBC真实SQL
程序员文章站
2022-04-11 09:41:07
...
这篇文章只是分享这个软件而已,更直白点说,只要上网一搜就会有大量关于这个文章。
即使你不愿意上网再查,没关系,使用很简单,而且附件内有使用的文档,详尽描述了使用方式。
附件有使用到的两个软件和使用手册,仅供参考。
既然写了,那就啰嗦两句,使不明真相的人了解一下到底分享的是什么。
使用hibernate开发的朋友都知道,想在使用hibernate进行持久层操作的时候显示对应的sql语句,可以设置hibernate配置文件中的show_sql属性为true来实现这个需求。可是这个功能比较让人失望,因为他的语句是没错,但是参数值全是?这个带传入的参数符号,而且没有对本次访问做相关统计。
p6spy这个工具,其实就是一个中间驱动,在数据库调用端和实际数据库驱动间做一个代理人的角色,进而加入了一些特有的辅助功能。
说白了,使用他,就可以直白的看见和数据库之间交互的SQL、返回的结果、耗时等。
在此,说一下使用中的几个问题:
- 首先得保证,你的启动在没有使用该程序前是可以正常运行的。
- sqlprofiler配合使用时,一定要先启动sqlprofiler,再启动程序。
- 如果是在Tomcat下使用,则要把spy.properties拷贝到Tomcat的Bin下一份,否则会报错:No suitable driver,Could not get database url。
- 其次,启动服务后发现没有连接到sqlprofiler,那是因为spy.properties中SocketAppender指向时,使用的localhost,这里改为127.0.0.1即可。有人会说了,这个不一样吗,我只能说:不多解释。
- 还有人说,p6spy.jar如果部署在具有空格的目录下,就会出现找不到驱动这种情况,这个我还真没发现,不过操作系统不同时,还是注意一下这个问题吧。
好吧,上货!
请您到ITEYE网站看 java小强 原创,谢谢!
http://cuisuqiang.iteye.com/!
自建博客地址:http://www.javacui.com/ ,内容与ITEYE同步!
上一篇: ssh2整合存入数据库乱码