hibernater调试

有个项目出了点bug,需要调试打印出SQL,后台都是显示参数为?
如果能打印出参数,就可以很直观的调试
在网上找了一下。大部分文章模糊不清,不方便初学者入门,很折腾人!
总结了一下
主要是3个配置:
log4j,hibernater,web.xml
log4j可以用hibernate自带的,hibernate主要是3个参数:
<property name="hibernate.show_sql">false</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.use_sql_comments">true</property>
web.xml主要是配置文件的加载:
<servlet>
    <servlet-name>log4j</servlet-name>
    <servlet-class>com.aigo.Log4jInit</servlet-class>
    <init-param>
        <param-name>log4j</param-name>
        <param-value>/WEB-INF/classes/log4j.conf</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
另外还有个重要的包:slf4j-log4j12-1.5.8.jar 其实就是将slf4j 转换成log4j 日志的“适配器”,没有这个包不能输出日志。
http://www.slf4j.org/
另外log4j配置:
log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
log4j.logger.org.hibernate.type.descriptor.sql.BasicExtractor=TRACE
log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.engine.QueryParameters=DEBUG
log4j.logger.org.hibernate.engine.query.HQLQueryPlan=DEBUG

放一个项目在这儿,留作参考

你可能感兴趣的:(Hibernate)