久久久久久AV无码免费看大片,亚洲一区精品人人爽人人躁,国产成人片无码免费爱线观看,亚洲AV成人无码精品网站,为什么晚上搞的时候要盖被子

mybatis結(jié)合log4j打印SQL日志的兩種方法

時(shí)間:2022-09-27 21:49:25 類型:JAVA
字號:    

  在使用mybatis進(jìn)行開發(fā)的時(shí)候,由于可以動(dòng)態(tài)拼接sql,這樣大大方便了我們。但是也有一定的問題,當(dāng)我們動(dòng)態(tài)sql拼接的塊很多的時(shí)候,我們要想從*mapper.xml中直接找出完整的sql就會(huì)非常的難,這個(gè)時(shí)候經(jīng)常會(huì)需要把組合之后的完整sql打印出來。

    在 MyBatis 配置文件 mybatis-config.xml 里面添加一項(xiàng) setting 來選擇其它日志實(shí)現(xiàn),可選的值有:

SLF4J、LOG4J、LOG4J2、JDK_LOGGING、COMMONS_LOGGING、STDOUT_LOGGING、NO_LOGGING,或者是實(shí)現(xiàn)了 org.apache.ibatis.logging.Log 接口,且構(gòu)造方法以字符串為參數(shù)的類完全限定名。

  1.使用Mybatis的內(nèi)置日志工廠打印sql日志

<configuration>
    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING" />
    </settings>
</configuration>

實(shí)現(xiàn)效果如下:

1.jpg

 2.  mybatis結(jié)合log4j打印SQL日志

<configuration>
    <settings>
        <setting name="logImpl" value="LOG4J" />
    </settings>
</configuration>

    類路徑下建立loj4j.properties文件,配置內(nèi)容如下:

### 設(shè)置Logger輸出級別和輸出目的地 ### debug更詳細(xì),如果設(shè)為info那么打印出的表數(shù)據(jù)遇到字符串就不顯示,此外還有l(wèi)ogfile
log4j.rootLogger=debug,stdout

### 把日志信息輸出到控制臺(tái) ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
#log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout 

### 把日志信息輸出到文件:jbit.log ###
#log4j.appender.logfile=org.apache.log4j.FileAppender
#log4j.appender.logfile.File=mybatis.log
#log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
#log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n

###顯示SQL語句部分
log4j.logger.com.mybatis=DEBUG
#log4j.logger.com.mybatis.common.jdbc.SimpleDataSource=DEBUG
#log4j.logger.com.mybatis.common.jdbc.ScriptRunner=DEBUG
#log4j.logger.com.mybatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
#log4j.logger.java.sql.Connection=DEBUG
#log4j.logger.java.sql.Statement=DEBUG
#log4j.logger.java.sql.PreparedStatement=DEBUG
#log4j.logger.java.sql.ResultSet=DEBUG

效果如下:

2.jpg

<