mybatis打印sql

阅读更多

我们在使用mybatis开发过程中,经常需要打印sql以及输入输出,下面说一下mybatis结合log4j打印sql的。

1、添加mybatis配置

mybatis的日志打印方式比较多,SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING,可以根据自己的需要进行配置。

建议在mybatis.xml中添加如下配置,因为有些web容器(websphere、jboss等)中自带私有日志,如果我们不配置mybatis默认会使用容器私有日志组件,而不是使用log4j


		

 

2、log4j.xml配置

mybatis日志打印sql,由于我们用的是mybatis3.3,高于mybatis3.2

   所以如果需要打印查询sql、参数和结果,则配置如下:

  

 
		
		
		
		
	

 

其中name中填写的是mapper中的namespace路径:预约模块的都是com.example.mapper

如果mybatis低于3.2则配置才会需要添加下面的配置

 

 
         
        
	
 
 
         
        
	
 

 

3、如果需要将sql单独打印,则添加如下配置


		
		
		
			
		
		
			
			
		
	

 

4、建议日志additivity属性配置为false,这样可以避免日志重复打印,

当然这也需要看情况,如果需要结合上下文日志来跟踪问题,可以设置为true。

 

你可能感兴趣的:(mybatis,log4j,打印sql)