为struts+spring+hibernate增加显示数据库操作语句功能
①log4j以及Hibernate的:hibernate.show_sql=true作法只能输出一堆带“?”的语句,具体参数不见!!
② 用cownew的jdbmonitor,按照教程上所说将原来的数据库驱动直接改 为:com.cownew.JDBMonitor.jdbc.DBDriver,并在原数据库URL前增加:listenerconfig=c:/log /jdbmonitor/config.xml:的做法
- # < bean id = "datasource"
- # class = "org.springframework.jdbc.datasource.DriverManagerDataSource" >
- # < property name = "driverClassName" >
- # < value > com.cownew.JDBMonitor.jdbc.DBDriver </ value >
- # </ property >
- # < property name = "url" >
- # < value > listenerconfig =c:/log/jdbmonitor/config.xml:jdbc:mysql://localhost:3306/my_db </ value >
- # </ property >
- # < property name = "username" >
- # < value > myTest </ value >
- # </ property >
- # < property name = "password" >
- # < value > test </ value >
- # </ property >
- # </ bean >
会报错:
java.sql.SQLException: No suitable driver found for listenerconfig=c:/log/jdbmonitor/config.xml:jdbc:mysql://localhost:3306 /my_db。
错误原因不清楚,是否与org.springframework.jdbc.datasource.DriverManagerDataSource有关呢?
③按照网上所说配置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
也是报错:
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/my_db。
④终于在:http://forum.springframework.org/archive/index.php/t-42994.html上发现了同样的问题,以无比激动的心情一路修改配置:
- < bean id = "datasource"
- class = "org.springframework.jdbc.datasource.DriverManagerDataSource" >
- < property name = "driverClassName" >
- < value > com.mysql.jdbc.Driver </ value >
- </ property >
- < property name = "url" >
- < value > jdbc:mysql://localhost:3306/my_db </ value >
- </ property >
- < property name = "username" >
- < value > myTest </ value >
- </ property >
- < property name = "password" >
- < value > test </ value >
- </ property >
- </ bean >
- < bean id = "myP6DataSource" class = "com.p6spy.engine.spy.P6DataSource" >
- < constructor-arg >
- < ref local = "datasource" />
- </ constructor-arg >
- </ bean >
- < bean id = "sessionFactory"
- class = "org.springframework.orm.hibernate3.LocalSessionFactoryBean" >
- < property name = "dataSource" >
- < ref local = "myP6DataSource" />
- </ property >
- </ bean >
但是却没有等到期望的结果,如此优雅的解决办法怎么会没有结果呢?
不断的调试终于发现了问题之所在:tomcat放在“Program Files”目录下,p6spy竟然不认识此目录! 发表于 @ 2008年