mybatis结合log4j打印SQL日志

时间:2024-10-30 12:26:09

mybatis结合log4j打印SQL日志

 

引用jar包

默认的mybatis不能打印出SQL日志,不便于查看调试,需要结合log4jdbc-log4j2就可以完整的输入SQL的调试信息。

配置maven,注意以下3个都需要

        <dependency>
            <groupId>.log4jdbc-log4j2</groupId>
            <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
            <version>1.16</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.13</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.13</version>
        </dependency>

 

2.配置信息


log4jdbc.

=..slf4j.Slf4jSpyLogDelegator


### 设置Logger输出级别和输出目的地 ### debug更详细,如果设为info那么打印出的表数据遇到字符串就不显示,此外还有logfile
=debug,stdout

### 把日志信息输出到控制台 ### 
=. 
#= 
=. 

### 把日志信息输出到文件: ### 
#=. 
#= 
#=. 
#=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n 

###显示SQL语句部分 
#=DEBUG
#=DEBUG 
#=DEBUG 
#=DEBUG 
#=DEBUG
#=DEBUG
#=DEBUG
#=DEBUG

 

配置文件摆放位置:

 

修改myBatis配置文件

MySQL

<!--不输出SQL
<property name="driver" value="" />
<property name="url" value="jdbc:mysql://..." />                
-->
<!--输出SQL-->
<property name="driver" value="." />
<property name="url" value="jdbc:log4jdbc:mysql://..." />

SQLserver

<!--不输出sql的配置
<property name="driver" value="" />-->
<property name="url" value="jdbc:sqlserver://..." />-->
<!--输出sql的配置-->
<property name="driver" value="." />
<property name="url" value="jdbc:log4jdbc:sqlserver://..." />


 

执行SQL输出SQL

 

需要注意

如果配置=info,Console就不会输出SQL表里的字符串,必须是=DEBUG,Console才可以

 

3.定制化精简日志

如图所示打印的日志太多了,如果不需要的话很简单把不需要的日志包配置到.后即可。

=error


下面是一个只输出SQL和表数据的最精简的配置:

=DEBUG,Console
  
#Console  
=.  
=
=.  
=%d [%t] %-5p [%c] - %m%n  

=ERROR
=ERROR
=ERROR
#这个需要
.=ERROR
=ERROR

=ERROR
=ERROR
#这个打印SQL语句非常重要
=DEBUG
=ERROR
=FATAL

 

 参考:

log4jdbc-log4j2配置简记

logback + log4jdbc-log4j2 输出 jpa sql 参数实际value

/s/blog_5bba80460102vagg.html

/blueheart20/article/details/26471019

/zht666/article/details/7869624

/blog/1289455

/s/blog_42971b9e0100p6ua.html netbeans配置tomcat需要验证用户名口令,Tomcat Manager Application

/ycpanda/article/details/39769737

/xdp-gacl/p/


4.直接调试出SQL语句

直接在MyBatis里打断点调试出需要看的SQL

SimpleExecutor这个类下面