弄hibernate时,想显示sql语句,可以设置show_sql为true来达到这个目的,但是参数值全是像PreparedStatement一样,用?来代替的。
用p6spy可以达到显示的那些参数原值的目的,但可读性差。可以利用SQL Profiler来处理这个事情。
p6spy还可以用来记录web app访问DB的sql总数,从而更好的帮我们分析项目中的隐藏问题.
p6spy: http://www.p6spy.com
SQL Profile: http://www.jahia.net/jahia/page597.html
p6spy安装:
* 将p6spy.jar放到WEB-INF/lib目录下,将spy.properties放到WEB-INF/classes目录下。
* 修改你 原有 JDBC Driver为:com.p6spy.engine.spy.P6SpyDriver
* 修改 spy.properties 中的 realdriver 值为 原有 的JDBC Driver,比如我的是:com.mysql.jdbc.Driver
* 完成,运行web server。
我的日志记录产生在 %TOMCAT_HOME%\bin下,此log位置可以能过修改 logfile = x:\x_dir\spy.log 来控制
打开看看,看里面的日志是不是看起来比较不爽?下面我们安装SQL Profiler来让自已的视线爽一点。
SQL Profiler安装:(须p6spy成功安装)
* 将SQL Profiler自带的spy.properties覆盖原来的classes目录下文件
* 修改现在spy.properties中realdriver 值为 原有 的JDBC Driver
看后看看readme注意这几句 ^__^ :
1. Start the GUI
2. Start the webapp, in starts doing some JDBC requests we will ignore
3. Press the "reset" button on the GUI
4. Make a request to the webapp
5. Press the "pause" button after the request has finished executing
6. Press the "report" button to save profiling results as a CSV file
* 我们先用java -jar sqlprofiler.jar 运行 sql profiler
* 然后启动web server :-)
一切尽在眼前了吧?
当然,p6spy 和 sql profiler 能做的不止这些,sql profiler还能根据你的query来帮你生成建立合适的index功能等等。
快速Guide
Quick Start Notes:
to enable p6spy, we need to let p6spy intercept JDBC connection. In my spring's configuration xml file, I used below setting to simplify configuration:
<!-- change the original dataSource bean id to dataSourceTarget to be prepaired for p6spy proxying -->
<bean id="dataSourceTarget" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="PSTDS" />
</bean>
<!-- add below fragment to let p6spy to provide dataSource proxied -->
<bean id="dataSource" class="com.p6spy.engine.spy.P6DataSource">
<constructor-arg ref="dataSourceTarget"/>
</bean>
1) add p6spy.jar under p6spy folder and sqlprofiler.jar under sql-profiler folder to your application's classpath;
2) add spy.properties provided in current folder to classpath also;
3) run sqlprofiler.jar with command "java -jar sqlprofiler.jar"
4) start your web application to check whether it works(ensure sqlProfiler starts up before your web application to enable GUI-based analysis function);
分享到:
相关推荐
利用P6SPY +SQL Profiler调试、记录、统计web app对数据库的操作, 可以查看到PreparedStatment的执行最终的SQL语句。 有详细的操作说明 下面的这个是集成的完整版。。太大了就不上传了。自己下吧 jahia_v6_...
P6spy是一个开源的数据库监控工具,它能够拦截并记录应用程序与数据库之间的SQL交互。通过在数据库连接字符串中插入P6spy驱动,它可以在不修改代码的情况下透明地监控数据库活动。P6spy提供了一个名为`spy....
SQL Profiler是P6Spy的一个组件,用于对数据库操作进行详细分析,找出潜在的性能瓶颈。 配置WebLogic Server 11g与P6Spy和SQL Profiler的集成,主要涉及以下几个步骤: 1. **安装P6Spy**:首先,你需要下载P6Spy的...
本文将详细介绍P6Spy、SQL Profiler和IronTrack SQL这三个工具,帮助你理解和掌握数据库监控与性能分析的方法。 首先,P6Spy是一个开源的Java库,它允许开发者在不修改应用程序代码的情况下,对数据库访问进行透明...
在Java应用中,P6Spy可以捕获和记录所有的SQL请求,而SQL Profiler则可以在服务器端提供更详细的事件追踪。这种组合可以提供从客户端到服务器端的完整查询生命周期的视图,对于诊断复杂的性能问题特别有用。 总的来...
一旦配置完成,启动应用程序,P6Spy就会开始记录SQL操作。这时,可以运行SQLProfiler,导入P6Spy生成的日志文件,它会自动分析并生成性能报告。报告中可能会包括SQL执行时间的直方图、平均执行时间、最耗时的SQL语句...
总结来说,P6Spy和SqlProfiler是Java开发中不可或缺的数据库监控工具。它们能够帮助我们深入了解应用程序与数据库的交互,从而进行有效的性能优化和问题定位。在日常开发和维护过程中,正确使用这两个工具可以显著...
专门用来监控hibernate的sql输出,进行调试应用程序的工具,找了好久才找到,里面有个配置文件,记住realdriver是你的驱动,而在hibernate设置的驱动是这个驱动代理,p6spy的驱动,相当于在hibernate和数据库之间放...
p6spy和sqlProfiler的配合使用让你的hibernate的show_sql更好用 p6spy和sqlProfiler的配合使用让你的hibernate的show_sql更好用 p6spy和sqlProfiler的配合使用让你的hibernate的show_sql更好用
P6Spy是一款开源的数据库监控工具,主要用于记录和分析应用程序对数据库的所有SQL操作。在Java应用环境中,如WebLogic服务器上,P6Spy可以帮助开发者和DBA监控SQL性能,找出可能存在的瓶颈。本文将详细介绍如何在...
P6Spy的工作原理是通过代理JDBC驱动,拦截所有的SQL语句,然后在执行前后添加额外的操作,如日志记录、性能分析等。为了实现自己的SQL执行控制器,我们需要理解以下几个关键知识点: 1. **JDBC驱动代理**:JDBC驱动...
1. **SQL日志记录**:P6Spy可以捕获并记录所有执行的SQL语句,包括原始的SQL、执行时间、返回结果等,这对于追踪数据库操作和性能分析非常有用。 2. **日志格式自定义**:P6Spy允许用户通过配置文件定制日志输出...
标题 "Tomcat6.x + p6spy + IronTrackSQL 监控sql性能" 所涉及的知识点主要集中在Java Web服务器的管理和数据库性能监控上。在这个配置中,Tomcat6.x是一个广泛使用的开源Java Servlet容器,它负责运行Java Web应用...
Spy++ 是一款强大的Windows系统监控工具,主要用于调试和分析应用程序的用户界面(UI)和窗口操作。这个绿色工具被封装在名为"spy++.zip"的压缩包中,无需安装即可直接使用,为开发者提供了一个便捷的环境来检测和...
64位 Spy++ 是一款专为64位操作系统设计的高效能、轻量级的Windows系统监控工具。这款工具主要用于帮助软件开发者、测试人员以及系统管理员深入理解Windows应用程序的内部运行机制,它提供了窗口、消息、过程以及...
1. SpyXX.aps:这是Visual Studio的工程文件,记录了项目的配置信息,包括编译设置、依赖库等,为构建SPY++项目提供了基础。 2. SpyXX.clw、SpyX1.clw:这些是ClassWizard生成的类文件,用于管理MFC(Microsoft ...
**描述:“spy++ 加强版,可获取窗口各类消息,灵活方便操作各类窗口”** **关键词:spylite、spy++** **正文:** `Spy Lite` 和 `Spy++` 是两种强大的Windows应用程序调试和分析工具,尤其在软件开发和测试领域...
Spy++ Lite版是一款专为那些只安装了Visual Studio Express版,无法使用完整版Spy++的用户设计的轻量化工具。Spy++通常是一个强大的Windows应用程序,用于监控系统中的窗口、消息、线程和进程,它是Microsoft Visual...
总的来说,创建一个类似SPY++的窗口查看器是一个涉及Windows编程、MFC框架和系统级调试技术的综合项目,对理解Windows操作系统的工作原理和提升编程技能有极大的帮助。通过这个项目,开发者可以深入学习到Windows...