MyBatis之控制檯輸出sql-yellowcong
MyBatis控制檯輸出Sql的方式有兩種,一種是自帶的格式化輸出這種方式對於Mybatis的版本有要求,第二種是,自己手動新增日誌規則的列印方式,這種更加的靈活方便。
第一種方法:通過Mybatis自帶的
Mybatis提供的標準日誌輸出,是在3.2.x版本有,我測試了低版本,就報錯
<!-- mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version >3.2.6</version>
</dependency>
Mybatis標準化輸出打印出來的效果
配置mybatis-config.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="defaultExecutorType" value="REUSE" />
<!-- 配置控制檯輸出 -->
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
<typeAliases>
</typeAliases>
</configuration>
第二種方式:通過配置Log4j
1、配置log4j.properties
通過只配置監聽所有日誌的方式,檢視列印sql的日誌檔案是哪一個類
#測試級別是DEBUG
#日誌 級別 DEBUG -->INFO -->WARN -->ERROR
log4j.rootLogger=DEBUG,Console
#Console
#日誌的輸出格式
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
2、執行測試類,檢視日誌資訊
分析日誌,我們發現列印sql語句的是druid.sql.Statement
這個類,而且多了一些不需要的spring的日誌
3、修改log4j.properties配置
1、提升spring日誌的列印等級
2、新增druid.sql.Statement 的監控,去掉druid.sql
包下面的其他類的監控
#測試級別是Warn
#日誌 級別 DEBUG -->INFO -->WARN -->ERROR
log4j.rootLogger=DEBUG,Console
#Console
#日誌的輸出格式
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
#指定Spring的日誌級別是WARN
log4j.logger.org.springframework=WARN
#指定監測druid.sql.Statement 的日誌情況
#只監聽指定類
#INFO 表示日誌的級別
#DRUID 是這個監聽的類的日誌配置的名稱,用於下面 指定日誌格式用
#這種是監聽druid.sql 包下面的所有類
log4j.logger.druid.sql=INFO,DRUID
#控制檯輸出
log4j.appender.DRUID=org.apache.log4j.ConsoleAppender
#指定輸出的樣式
log4j.appender.DRUID.layout=org.apache.log4j.PatternLayout
log4j.appender.DRUID.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
日誌結果,大家會發現,沒有spring的那些日誌輸出資訊了,只有durid.sql包下面的日誌了
只需要druid.sql.Statement的日誌
修改 日誌配置檔案
指定新的日誌規則
下面這種方式是,重新建立了一個日誌的規則,用來專門處理Statement這個類
#測試級別是Warn
#日誌 級別 DEBUG -->INFO -->WARN -->ERROR
log4j.rootLogger=DEBUG,Console
#Console
#日誌的輸出格式
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
#指定Spring的日誌級別是WARN
log4j.logger.org.springframework=WARN
#日誌級別是WARN才可以顯示
log4j.logger.druid.sql.Connection=WARN
log4j.logger.druid.sql.ResultSet=WARN
#指定監測druid.sql.Statement 的日誌情況
#只監聽指定類
#INFO 表示日誌的級別
#DRUID 是這個監聽的類的日誌配置的名稱,用於下面 指定日誌格式用
log4j.logger.druid.sql.Statement=DEBUG,DRUID
#控制檯輸出
log4j.appender.DRUID=org.apache.log4j.ConsoleAppender
#指定輸出的樣式
log4j.appender.DRUID.layout=org.apache.log4j.PatternLayout
log4j.appender.DRUID.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
大家再看一下日誌檔案,發現只剩下Statement 的日誌檔案了
直接使用原來樣式的方式
可以將上面的日誌檔案改寫一下,使用原來的日誌輸出方式
#測試級別是Warn
#日誌 級別 DEBUG -->INFO -->WARN -->ERROR
log4j.rootLogger=DEBUG,Console
#Console
#日誌的輸出格式
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
#指定Spring的日誌級別是WARN
log4j.logger.org.springframework=WARN
#日誌級別是WARN才可以顯示
log4j.logger.druid.sql.Connection=WARN
log4j.logger.druid.sql.ResultSet=WARN
#指定監測druid.sql.Statement 的Debug 級別
#使用上面配置的日誌輸出方式
log4j.logger.druid.sql.Statement=DEBUG
發現只剩下Statement的日誌檔案了,但問題是好像日誌比原來更少了
相關推薦
MyBatis之控制檯輸出sql-yellowcong
MyBatis控制檯輸出Sql的方式有兩種,一種是自帶的格式化輸出這種方式對於Mybatis的版本有要求,第二種是,自己手動新增日誌規則的列印方式,這種更加的靈活方便。 第一種方法:通過Mybatis自帶的 Mybatis提供的標準日誌輸出,是在3.
mybatis在控制檯輸出SQL執行語句
log4j啥的輸出語句,mybatis配置一下配置檔案就可以啦。在mybatis-config.xml中新增如下兩行程式碼就可以,網上有的說只新增最後一行,經嘗試不列印。兩行都填加才打印。 <settings> <setting name=
SpringBoot+MyBatis在控制檯輸出sql語句
1.如果使用application.properties 在配置中新增: logging.level.com.looedu.mapper=debug 格式:logging.level.Mapper類的包=debug 2.如果使用application.yml 在
SpringBoot 整合Mybatis時控制檯輸出sql語句
SpringBoot整合Mybatis極大的加快了開發速度。但是時間長了發現一個問題,sql不論執行的錯與對,控制檯都看不到當前執行的sql資訊,多有不便。 在application.yml進行以下配置即可: logging: level: com.sicme
MyBatis控制檯輸出SQL語句
用過Hibernate的都知道,我們可以設定Showsql屬性來達到在控制檯輸出SQL語句方便我們除錯的目的,當然MyBatis也可以 這是MyBatis官方文件的一條屬性,我們只要在settings裡面設定它為我們使用的日誌應用的名字就好,比如我用了LOG4J,那麼屬
mybatis如何在控制檯輸出sql語句
如果專案中沒有設定logback.xml檔案,則直接加入這三個jar包,就可以 如果專案本身已經設定了logback.xml檔案,則在檔案中需要加入 <!-- project default level --> <logger name=
mybatis 結合 logback 在控制檯輸出 sql 語句 (自用)
由於工作需要,自己希望在控制檯打印出 sql 執行語句(公司 log 日誌沒有)。參考了很多文章。都沒有得到解決的辦法。也浪費了很多的時間。最終經過自己的不懈努力終於找到了解決的辦法。 感謝博主分享 參考網站 而我用到的只有一行 <lo
SpringBoot Mybatis 在控制檯列印SQL語句
列印SQL語句需要在 application.properties 檔案中進行配置 #列印sql logging.level.com.hz.controller=WARN #控制器層 logging.level.com.hz.mapper=DEBUG #D
Mybatis 開啟控制檯列印sql語句
springboot+mybatis整合過程中,開啟控制檯sql語句列印的兩種方式: 方法一: 1.在mybatis的配置檔案中新增: <settings> <!-- 列印sql日誌 --> <setting name="l
mybatis之多條件sql的實現的兩種方式
首先稍微補充一下用註解首先sql功能(一般不用這種方法) 原理如下: 檔案圖 實現多條件sql的兩種方式的具體實現程式碼: mybatis.xml <?xml version="1.0" encoding="UTF-8" ?
Mybatis在控制檯列印sql
搜尋資料只能利用log4j實現 這裡只是添加了一些說明 網上log4j.properties檔案中mybatis列印sql的配置 #DEBUG < INFO < WARN < ERROR < FATAL ### set
Mybatis之輸入輸出對映(共三種類型)
一、輸入parameterType輸出resultType型別(resultType:列名和pojo中的屬性名要一致) Mybatis使用ognl表示式解析物件欄位的值,#{}或者${}括號中的值為pojo屬性名稱,其中,#{}:佔位符號,相對於?,${}:sql拼接符號,相對於String
log4j的使用以及mybatis在控制檯列印sql語句
正確的log4j寫法:#定義LOG輸出級別log4j.rootLogger=DEBUG,Console,File#定義日誌輸出目的地為控制檯log4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.append
mybatis在控制檯輸出執行語句
log4j啥的輸出語句,mybatis配置一下配置檔案就可以啦。在mybatis-config.xml中新增如下兩行程式碼就可以,網上有的說只新增最後一行,經嘗試不列印。兩行都填加才打印。<settings>
配置 log4j 在控制檯輸出 sql 語句
<span style="font-family:SimSun;font-size:18px;">#### direct log messages to stdout ### log4j.
Mybatis之動態構建SQL語句
1.@SelectProvider[email protected]3.@UpdateProvider[email protected]http://www.cnblogs.com/zhangminghui/p/4903351.html
MyBatis3 用log4j在控制檯輸出 SQL
為什麼要在控制檯輸出 SQL 呢?當然是為了開發除錯的時候方便了。如果一個 資料庫相關的操作出現了問題,我們可以根據輸出的SQL語句快速排查問題。輸出的資訊:[org.mybatis.spring.SqlSessionUtils]-Creating a new SqlSess
Mybatis在控制檯顯示sql語句配置檔案
在log4j.properties配置內容如下: 方法一: log4j.rootLogger=debug,stdout,logfile log4j.appender.stdout=org.apache
mybatis在控制檯顯示sql語句
log4j.rootCategory=info, stdout , R log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout lo
mybatis 之動態 SQL
if mybatis _parameter _databaseid 動態 sql 1、動態 SQL 簡介: 動態 SQL 是 MyBatis 強大特性之一。極大的簡化我們拼裝 SQL 的操作。 動態 SQL 元素和使用 JSTL 或者其他類似基於 XML 的文本處理器相似。