• 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语句吧

  • 相关阅读:
    网站优化,dns预解析,解析缓存
    dos命名重启或关闭远程服务器
    IIS 常见问题集记录
    EF 基础提供程序在 Open 上失败
    flexbox学习
    svn post-commit 同步
    备份
    log4net 2.0.4有问题,AdoNetAppender会报错
    signalr 配置错误跟踪
    Facebook的Web开发三板斧:React.js、Relay和GraphQL
  • 原文地址:https://www.cnblogs.com/zhukunrong/p/3890731.html
Copyright © 2020-2023  润新知