使用ibatis时,可以在通过修改log4j的配置文件来打印sql语句,但是不是在所有的web服务器上都有用的,比如我使用的Jetty。所以在网上找到一个办法,使用P6Spy打印。
-
首先将spy.properties文件和jar包p6spy.jar加载到classpath下
- 然后,修改你的datasource的配置,将数据库驱动换成p6spy的驱动,而原驱动移到spy.properties中。例如:在dataSource在spring bean中的配置:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName"> <value>com.p6spy.engine.spy.P6SpyDriver</value> <!-- <value>oracle.jdbc.driver.OracleDriver</value> --> </property> <property name="url"> <value>jdbc:oracle:thin:@192.168.0.217:1521:orcl</value> </property> <property name="username"> <value></value> </property> <property name="password"> <value></value> </property> </bean>
在property为driverClassName中,原来的驱动是oracle的:oracle.jdbc.driver.OracleDriver,现换成com.p6spy.engine.spy.P6SpyDriver。
将oracle.jdbc.driver.OracleDriver添加到spy.properties文件中
在属性文件中,有这么一段:
# oracle driver
realdriver=oracle.jdbc.driver.OracleDriver
realdriver这个属性修改成原来所用的驱动