控制台打印的Hibernate显示SQL语句 -1
使用Hibernate提供的内置属性true只能输出类似于下面的SQL语句:
Hibernate:
insert into student(name, sex, age, cardId, classroom_id, id)
values (?, ?, ?, ?, ?, ?)
这样不利于程序的调试,为了可以显示?占位符所代表的具体数据,需要第三方Jar包,p6spy是一个该需求的开源实现。
一、在Java Project项目中使用p6spy:
下面我介绍一下p6spy在tomcat应用程序上安装的步骤:
1https://sourceforge.net/projects/p6spy/files/
2 解压出p6spy.jar 和spy.properties两个文件
3 pp6spy.jar
放入应用程序的WEB-INF/lib目录(前提你的工程必须是web项目),将spy.properties放入WEB-INF/classes目录
4 修改spy.properties
realdriver =com.mysql.jdbc.Driver 将这行前面的#去掉 我用的是MySQL数据库。里面有
logfile = d:/spy.log 修改一个你需要的日志文件名
5 修改hibernate.xml,修改connection.driver_class的值为com.p6spy.engine.spy.P6SpyDriver
hibernate.cfg.xml
http://blog.sina.com.cn/s/blog_905ca8c60101dewr.html
- <property name="dscp.driverClassName">com.p6spy.engine.spy.P6SpyDriver</property>
6 启动tomcat访问数据
7 这样在d:/下的spy.log记录了数据库的访问情况。