1. 程式人生 > >【轉】hibernate打印SQL及參數

【轉】hibernate打印SQL及參數

orm comment binder version engine .org inf 相關 bin

在Hibernate的配置文件hibernate.cfg.xml中有3個設置項跟顯示SQL語句相關,他們的值都是boolean值:
1、show_sql:是否顯示SQL語句
2、format_sql: 是否格式化輸出字符串,增強SQL的可讀性
3、use_sql_comments:是否顯示註釋,用於指示出是什麽操作產生了這個SQL語句。

如果設置了show_sql=true的話默認只打印SQL語句不會打印參數: 如果需要打印參數請在log4j配置文件:log4j.properties中加入: log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
log4j.loggerorg.hibernate.type.descriptor.sql.BasicExtractor=TRACE 如果需要查看查詢中命名參數的值,繼續加入: log4j.logger.org.hibernate.engine.QueryParameters=DEBUG log4j.logger.org.hibernate.engine.query.HQLQueryPlan=DEBUG 接下來奉上全部配置: log4j.rootLogger=info, CA # ConsoleAppender log4j.appender.CA=org.apache.log4j.ConsoleAppender log4j.appender.CA.layout=org.apache.log4j.PatternLayout log4j.appender.CA.layout.ConversionPattern=%d{hh\:mm\:ss,SSS} [%t] %-5p %c %x - %m%n #為了顯示參數 log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=TRACE log4j.loggerorg.hibernate.type.descriptor.sql.BasicExtractor=TRACE #查看查詢中命名參數的值 log4j.logger.org.hibernate.engine.QueryParameters=DEBUG log4j.logger.org.hibernate.engine.query.HQLQueryPlan=DEBUG 使用時只需要將hibernate.cfg.xml中的show_sql設置為true然後將紅色代碼復制到配置文件中即可。

【轉】hibernate打印SQL及參數