在控制台中显示Hibernate打印的SQL中的参数

默认情况下,hibernate的sql中都是以问号代表参数,并没有显示参数的真实值,但是也不是做不到,只需要两步配置就可以显示出参数的真实值了:

1.spring的配置文件中增加:

Xml代码   收藏代码
  1. <prop key="hibernate.show_sql">trueprop>  



或者在hibernate的配置文件中增加:

Xml代码   收藏代码
  1. <property name="show_sql">trueproperty>  




2.在log4j.properties中做如下配置:

Js代码   收藏代码
  1. log4j.appender.STDOUT.Threshold=trace  
  2. log4j.category.org.hibernate.SQL=trace  
  3. log4j.category.org.hibernate.type=trace  




控制台显示如下:

Js代码   收藏代码
  1. Hibernate: insert into app_log (time, usr, ip, level, log) values (?, ?, ?, ?, ?)  
  2. log4j:org.hibernate.type.NullableType.nullSafeSet(NullableType.java:133)# - binding '2010-11-29 14:36:48' to parameter: 1  
  3. log4j:org.hibernate.type.NullableType.nullSafeSet(NullableType.java:133)# - binding '1' to parameter: 2  
  4. log4j:org.hibernate.type.NullableType.nullSafeSet(NullableType.java:133)# - binding '127.0.0.1' to parameter: 3  
  5. log4j:org.hibernate.type.NullableType.nullSafeSet(NullableType.java:133)# - binding 'info' to parameter: 4  
  6. log4j:org.hibernate.type.NullableType.nullSafeSet(NullableType.java:133)# - binding 'admin login ' to parameter: 5 

你可能感兴趣的:(Hibernate)