Hibernate配置打印sql语句和参数

    xiaoxiao2021-03-25  56

    在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然后将红色代码复制到配置文件中即可。

    转载请注明原文地址: https://ju.6miu.com/read-18250.html

    最新回复(0)