博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
让控制台打印的Hibernate显示SQL语句显示绑定参数值
阅读量:5153 次
发布时间:2019-06-13

本文共 1492 字,大约阅读时间需要 4 分钟。

使用Hibernate提供的内置属性<Property name="show_sql">true</Property>只能输出类似于下面的SQL语句:

Hibernate:   
insert into student(name, sex, age, cardId, classroom_id, id) values (?, ?, ?, ?, ?, ?) 
这样不利于程序的调试,为了可以显示?占位符所代表的具体数据,需要第三方Jar包,p6spy是一个该需求的开源实现。
一、在Java Project项目中使用p6spy:

下面我介绍一下p6spy在tomcat应用程序上安装的步骤:

1 下载install包。zip包好像少p6spy.jar文件。
2 解压出p6spy.jar 和spy.properties两个文件
3 pp6spy.jar 放入应用程序的WEB-INF/lib目录,将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

[html]  
  1. <property name="dialect">org.hibernate.dialect.MySQLDialect</property>  
  2. <property name="dscp.driverClassName">com.p6spy.engine.spy.P6SpyDriver</property>  
  3. <property name="dscp.url">jdbc:mysql://localhost:3306/myblog?useUnicode=true&characterEncoding=GBK</property>      
  4. <property name="dscp.username">root</property>  
  5. <property name="dscp.password"></property>  
 6 启动tomcat访问数据
 7 这样在d:/下的spy.log记录了数据库的访问情况。 

二、在Java Web项目中使用p6spy(Tomcat环境下)
重启Tomcat服务器
可能会出现的问题:驱动程序加载先后的问题解决
如果spy.log里出现你的程序的数据库驱动名称 is a real driver in spy.properties, but it has been loaded before p6spy. p6spy will not wrap these connections. Either prevent the driver from loading, or try setting 'deregisterdrivers' to true in spy.properties.
请把spy.properties文件里的deregisterdrivers=false改为deregisterdrivers=true,重新运行即可。

转载于:https://www.cnblogs.com/4wei/archive/2012/12/24/2847250.html

你可能感兴趣的文章
Calendar 中getActualMaximumd 功能
查看>>
vs2005制作安装包
查看>>
R标红Cannot resolve symbol’R的处理
查看>>
怎样将本地web项目部署到腾讯云服务器上?
查看>>
mkdir创建目录
查看>>
JavaScript基础篇
查看>>
色块图
查看>>
ganglia-gmond.conf配置文件
查看>>
【bzoj2819】Nim DFS序+树状数组+倍增LCA
查看>>
【bzoj1899】[Zjoi2004]Lunch 午餐 dp
查看>>
第7章 数组实验
查看>>
[转]Running JavaScript in an iOS application with JavaScriptCore
查看>>
SQL游标写入时触发
查看>>
两个应用的跳转
查看>>
Centos7,Docker-配置自动化环境镜像(python3.7+selenium 3.11+firefox 62+geckodriver 0.21)...
查看>>
篮球赛总结
查看>>
c#获取本机ip地址|获取本机的本地上网IP地址
查看>>
jmeter(二十)JMeter中返回Json数据的处理方法
查看>>
redis cluster 实践总结
查看>>
Lua的require和module小结
查看>>