DBA会经常抓取时间长的SQL,为了方便辨别这些SQL是不是我们部门开发的项目中的,需要提取程序中所有sql。于是先把项目运行中的所有SQL事前准备好,提取SQL的方法步骤如下:
1.在项目中加入如下依赖jar包:
<dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifactId> <version>1.3</version> </dependency>
2.下载SQL Profiler 软件包:地址:http://sourceforge.net/projects/sqlprofiler/
解压sqlprofiler-0.3-bin.zip 把spy.properties拷到项目中的resources目录下,修改配置文件
realdriver=com.mysql.jdbc.Driver
deregisterdrivers=true
启动命令:java -Xms512m -Xmx512m -jar sqlprofiler.jar
3.修改工程中的jdbc driver名称,如properties文件中的属性:
jdbc.write.driverClassName=com.p6spy.engine.spy.P6SpyDriver
4.启动项目,在sqlprofiler界面既可以看到所有执行的sql 。