zoukankan      html  css  js  c++  java
  • Hibernate SQL实际sql语句监控- p6spy+hibernate+proxool 设置

    由于ORM工具的缘故,我们调试程序的时候远没有直接在程序里直接写个string的SQL简单,想当年查个sql是有多么的幸福,一行sql = "select * from ..."找找就行了, 现在用了hibernate, 就算在JPA中开了show_sql=true, 打出来的还是一串 "name = ? and id = ? "

    好在找到一个工具, p6spy, 作为真正JDBC的一个代理, 截获了所有sql, 让我们看到一个真实sql的机会。 先下载,以下配置默认跟我目前项目一样

    hibernate+proxool+postgresql      改后的部署层次为hibernate+proxool+p6spy+postgresql

    p6spy 下载后,将jar包解压, 步骤很简单:

    1. p6spy.jar放到web程序的web-inf/lib下。
    2. spy.properteis 放入web-inf/classess下

    spy.properties上将以下属性改一下就好了:

    realdriver=org.postgresql.Driver   //真正的JDBC驱动名
    
    deregisterdrivers=true
    
    appender=com.p6spy.engine.logging.appender.StdoutLogger  //输出到控制台

    然后改proxool连接池的配置, 用p6spy代替真正的JDBC驱动, 作为一个中间代理,截获SQL

    proxool.properties 

    jdbc-0.proxool.driver-class=com.p6spy.engine.spy.P6SpyDriver

    配置完成了,打开IDE,欣赏下久违的sql语句吧

  • 相关阅读:
    MySQL数据库高并发优化配置
    MySQL性能参数详解
    jQuery中过滤选择器first和first-child的区别
    Linux非常用命令
    jps命令学习
    通过乐观锁(版本号)降低并发时的锁竞争
    ReentrantLock 相关学习笔记
    grep 所有多个关键字
    ThreadLocal学习笔记
    Idea设置全白色 背景
  • 原文地址:https://www.cnblogs.com/zhukunrong/p/3890731.html
Copyright © 2011-2022 走看看