如何將Hibernate生成的SQL語句打印到日誌文件
阿新 • • 發佈:2017-09-05
script ini hibernate prop ram per binding 需要 mod
背景:項目開發需要。
1 操作
只需要在log4j.properties中加入以下兩行代碼即可
#輸出sql語句到日誌 log4j.logger.org.hibernate.SQL=debug #將對應的參數占位符?換成傳入的參數 log4j.logger.org.hibernate.type=trace
實驗效果:
2017-09-05 16:51:26 [DubboServerHandler-thread-1] DEBUG org.hibernate.SQL (104) - select cpsysparm0_.CODEas CODE65_0_, cpsysparm0_.NAME as NAME65_0_, cpsysparm0_.PARMVALUE as PARMVALUE65_0_, cpsysparm0_.PARMDESC as PARMDESC65_0_, cpsysparm0_.MODIFIABLE as MODIFIABLE65_0_, cpsysparm0_.VIEWABLE as VIEWABLE65_0_, cpsysparm0_.OPERUSER as OPERUSER65_0_, cpsysparm0_.OPERTIMEas OPERTIME65_0_ from CP_SYSPARM cpsysparm0_ where cpsysparm0_.CODE=? 2017-09-05 16:51:26 [DubboServerHandler-thread-1] TRACE org.hibernate.type.descriptor.sql.BasicBinder (83) - binding parameter [1] as [VARCHAR] - 012 2017-09-05 16:51:26 [DubboServerHandler-thread-1] TRACE org.hibernate.type.descriptor.sql.BasicExtractor (72) - Found [當前場次 ] as column [NAME65_0_] 2017-09-05 16:51:26 [DubboServerHandler-thread-1] TRACE org.hibernate.type.descriptor.sql.BasicExtractor (72) - Found [1] as column [PARMVALUE65_0_] 2017-09-05 16:51:26 [DubboServerHandler-thread-1] TRACE org.hibernate.type.descriptor.sql.BasicExtractor (67) - Found [null] as column [PARMDESC65_0_] 2017-09-05 16:51:26 [DubboServerHandler-thread-1] TRACE org.hibernate.type.descriptor.sql.BasicExtractor (72) - Found [0] as column [MODIFIABLE65_0_] 2017-09-05 16:51:26 [DubboServerHandler-thread-1] TRACE org.hibernate.type.descriptor.sql.BasicExtractor (72) - Found [1] as column [VIEWABLE65_0_] 2017-09-05 16:51:26 [DubboServerHandler-thread-1] TRACE org.hibernate.type.descriptor.sql.BasicExtractor (72) - Found [init ] as column [OPERUSER65_0_] 2017-09-05 16:51:26 [DubboServerHandler-thread-1] TRACE org.hibernate.type.descriptor.sql.BasicExtractor (72) - Found [2011-11-23 10:06:47.0] as column [OPERTIME65_0_]
可以看到查詢的過程和結果都進行了輸出。
如何將Hibernate生成的SQL語句打印到日誌文件