数据库
首页 > 数据库> > spring中集成P6Spy监控对数据库的操作

spring中集成P6Spy监控对数据库的操作

作者:互联网

源码:https://github.com/p6spy/p6spy
对jdbc的操作监控,可以方便记录每次数据库操作语句和时间,在测试环境下使用,可以排查SQL语句问题,涉及数据库性能问题可以看看日志。注意不要在上线产品里使用。

  1. 修改pom.xml,增加对p6spy的依赖
<!-- https://mvnrepository.com/artifact/p6spy/p6spy -->
<dependency>
<groupId>p6spy</groupId>
<artifactId>p6spy</artifactId>
<version>3.0.0</version>
</dependency>
  1. spring-mybatis.xml配置datasource,使用p6spy的驱动。如下:
<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource"
destroy-method="close">
<property name="poolProperties">
<bean class="org.apache.tomcat.jdbc.pool.PoolProperties">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="initialSize" value="${initialSize}" />
<property name="maxActive" value="${maxActive}" />
<property name="maxIdle" value="${maxIdle}" />
<property name="minIdle" value="${minIdle}" />
<property name="maxWait" value="${maxWait}" />
<property name="jmxEnabled" value="${jmxEnabled}" />
<property name="testWhileIdle" value="${testWhileIdle}" />
<property name="testOnBorrow" value="${testOnBorrow}" />
<property name="testOnReturn" value="${testOnReturn}" />
<property name="validationInterval" value="${validationInterval}" />
<property name="validationQuery" value="${validationQuery}" />
<property name="timeBetweenEvictionRunsMillis" value="${timeBetweenEvictionRunsMillis}" />
<property name="minEvictableIdleTimeMillis" value="${minEvictableIdleTimeMillis}" />
<property name="logAbandoned" value="${logAbandoned}" />
<property name="removeAbandoned" value="${removeAbandoned}" />
<property name="removeAbandonedTimeout" value="${removeAbandonedTimeout}" />
</bean>
</property>
</bean>

其中的属性都是在config.properties等配置文件中进行定义,因此,需要修改配置文件中的下列属性:

jdbc.driver=com.p6spy.engine.spy.P6SpyDriver
jdbc.url=jdbc:p6spy:mysql://192.168.0.1:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
  1. 修改spy.properties文件

spy.properties与其他配置文件一样,编译后,都会位于应用的/WEB-INF/classes目录下

driverlist=com.mysql.cj.jdbc.Driver

logfile=…/logs/spy.log

customLogMessageFormat=%(currentTime)|%(executionTime)|%(category)|connection%(connectionId)|%(sqlSingleLine)

标签:spy,jdbc,P6Spy,配置文件,spring,数据库,mysql,p6spy
来源: https://blog.csdn.net/qq_23888451/article/details/104803585