mybatissql輸出
❶ mybatis怎麼輸出sql語句
#將ibatis log4j運行級別調到DEBUG可以在控制台列印出ibatis運行的sql語句
log4j.rootLogger=debug,stdout,logfile
### 把日誌信息輸出到控制台 ###
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=D:/test.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.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
❷ 如何輸出mybatis里的SQL
你需要建立一個對象,然後運用輸出流進行輸出~ 。
❸ 如何控制Mybatis的SQL日誌輸出
您好,很高興為您解答。
使用環境:Mybatis_3.2.8 + Log4j2_2.1
首先要說明的是:
Mybatis是用Mapper類的全路徑名,作為logger的名稱的。
Mybatis中,列印SQL語句的日誌級別是DEBUG,而列印SQL執行結果集的日誌級別是TRACE。
比如,我們的應用是: com.test.app
而mapper類所在的路徑為: com.test.app.
則我們可以分別控制應用的業務日誌和SQL日誌的輸出。
如下的Log4j2.xml將輸出所有業務日誌,以及SQL語句日誌
引用
1
2
3
4
5
6
7
8
9
10
<Loggers>
<Logger name="com.test.app." additivity="false" level="DEBUG">
<AppenderRef ref="sql_log"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.test.app" additivity="false" level="TRACE">
<AppenderRef ref="biz_debug"/>
<AppenderRef ref="Console"/>
</Logger>
</Loggers>
如下的Log4j2.xml將輸出所有業務日誌,以及SQL語句日誌,SQL語句執行結果日誌
引用
1
2
3
4
5
6
7
8
9
10
<Loggers>
<Logger name="com.test.app." additivity="false" level="TRACE">
<AppenderRef ref="sql_log"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.test.app" additivity="false" level="TRACE">
<AppenderRef ref="biz_debug"/>
<AppenderRef ref="Console"/>
</Logger>
</Loggers>
如若滿意,請點擊右側【採納答案】,如若還有問題,請點擊【追問】
希望我的回答對您有所幫助,望採納!
❹ 如何控制Mybatis的SQL日誌輸出
您好,很高興為您解答。使用環境:Mybatis_3.2.8 + Log4j2_2.1 首先要說明的是:
Mybatis是用Mapper類的全路徑名,作為logger的名稱的。
Mybatis中,列印SQL語句的日誌級別是DEBUG,而列印SQL執行結果集的日誌級別是TRACE。
比如,我們的應用是: com.test.app 而mapper類所在的路徑為: com.test.app. 則我們可以分別控制應用的業務日誌和SQL日誌的輸出。 如下的Log4j2.xml將輸出所有業務日誌,以及SQL語句日誌
引用
1
2
3
4
5
6
7
8
9
10
<Loggers>
<Logger name="com.test.app." additivity="false" level="DEBUG">
<AppenderRef ref="sql_log"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.test.app" additivity="false" level="TRACE">
<AppenderRef ref="biz_debug"/>
<AppenderRef ref="Console"/>
</Logger> 您好,很高興為您解答。使用環境:Mybatis_3.2.8 + Log4j2_2.1 首先要說明的是:
Mybatis是用Mapper類的全路徑名,作為logger的名稱的。
Mybatis中,列印SQL語句的日誌級別是DEBUG,而列印SQL執行結果集的日誌級別是TRACE。
比如,我們的應用是: com.test.app 而mapper類所在的路徑為: com.test.app. 則我們可以分別控制應用的業務日誌和SQL日誌的輸出。 如下的Log4j2.xml將輸出所有業務日誌,以及SQL語句日誌
引用
1
2
3
4
5
6
7
8
9
10
<Loggers>
<Logger name="com.test.app." additivity="false" level="DEBUG">
<AppenderRef ref="sql_log"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.test.app" additivity="false" level="TRACE">
<AppenderRef ref="biz_debug"/>
<AppenderRef ref="Console"/>
</Logger>
❺ Mybatis控制台列印SQL的兩種方式
第一種:
網上說的比較多的,之前也是這么用的一種方式
第二種:
最近發現的一種方式,方便快捷
以上mybatis 調試出sql的兩種方式
在SpringBoot中,修改application.yml文件
❻ mybatis怎樣列印出sql
在scr下添加一個log4j.properties文件,大致模版可以網路,主要是把日誌級別log4j.rootLogger=debug,stdout設置為像我這樣的debug,因為mybatis的sql語句的輸出是debug()輸出的
❼ 如何控制Mybatis的SQL日誌輸出
使用環境:Mybatis_3.2.8 + Log4j2_2.1
首先要說明的是:
Mybatis是用Mapper類的全路徑名,作為logger的名稱的。
Mybatis中,列印SQL語句的日誌級別是DEBUG,而列印SQL執行結果集的日誌級別是TRACE。
比如,我們的應用是: com.test.app
而mapper類所在的路徑為: com.test.app.
則我們可以分別控制應用的業務日誌和SQL日誌的輸出。
如下的Log4j2.xml將輸出所有業務日誌,以及SQL語句日誌
引用
<Loggers>
<Logger name="com.test.app." additivity="false" level="DEBUG">
<AppenderRef ref="sql_log"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.test.app" additivity="false" level="TRACE">
<AppenderRef ref="biz_debug"/>
<AppenderRef ref="Console"/>
</Logger>
</Loggers>
如下的Log4j2.xml將輸出所有業務日誌,以及SQL語句日誌,SQL語句執行結果日誌
引用
<Loggers>
<Logger name="com.test.app." additivity="false" level="TRACE">
<AppenderRef ref="sql_log"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.test.app" additivity="false" level="TRACE">
<AppenderRef ref="biz_debug"/>
<AppenderRef ref="Console"/>
</Logger>
</Loggers>
❽ 如何控制Mybatis的SQL日誌輸出
首先要說明的是:
Mybatis是用Mapper類的全路徑名,作為logger的名稱的。
Mybatis中,列印SQL語句的日誌級別是DEBUG,而列印SQL執行結果集的日誌級別是TRACE。(因為有些SQL可能語句簡單,但是結果集很多,分開級別,有利於用戶控制輸出。)
記住這兩點,對控制Mybatis的SQL日誌輸出很重要。
比如,我們的應用是:
com.test.app
而mapper類所在的路徑為:
com.test.app.
則我們可以分別控制應用的業務日誌和SQL日誌的輸出。
如下的Log4j2.xml將輸出所有業務日誌,以及SQL語句日誌
引用
<Loggers>
<Logger name="com.test.app." additivity="false" level="DEBUG">
<AppenderRef ref="sql_log"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.test.app" additivity="false" level="TRACE">
<AppenderRef ref="biz_debug"/>
<AppenderRef ref="Console"/>
</Logger>
</Loggers>
如下的Log4j2.xml將輸出所有業務日誌,以及SQL語句日誌,SQL語句執行結果日誌
引用
<Loggers>
<Logger name="com.test.app." additivity="false" level="TRACE">
<AppenderRef ref="sql_log"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.test.app" additivity="false" level="TRACE">
<AppenderRef ref="biz_debug"/>
<AppenderRef ref="Console"/>
</Logger>
</Loggers>
❾ mybatis怎麼列印出sql
mybatis默認使用log4j,當有self4j這個日誌jar包存在時會無法列印sql,請移除或者在工程啟動時顯示設置mybatis使用的日誌類:
log4j.logger.org.apache.ibatis=debug,stdout log4j.logger.java.sql=debug,stdout
這樣有時可能卻不是個可行的辦法,原因在於不可能移除self4j包,因為其他依賴包必須依賴這個包。 mybatis有如下方法來手動選擇日誌類,調用後成功列印日誌 如果引用了slf4j的包,並且要使用log4j需要加入slf4j-log4j12的包,如果沒有加入slf4j-log4j12的包是無法列印sql的。。具體log4j文件如下:
log4j.rootCategory=info, stdout , R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.Conversion
Pattern=[QC] %p [%t] %C.%M(%L) | %m%n
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=D:\\report.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n
log4j.logger.com.ibatis=debug
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug
log4j.logger.java.sql.Connection=debug
log4j.logger.java.sql.Statement=debug
log4j.logger.java.sql.PreparedStatement=debug,stdout
現在重啟tomcat,執行一條語句看看,sql是不是都出來了
❿ 如何控制Mybatis的SQL日誌輸出
您好,很高興為您解答。
使用環境:Mybatis_3.2.8 + Log4j2_2.1
首先要說明的是:
Mybatis是用Mapper類的全路徑名,作為logger的名稱的。
Mybatis中,列印SQL語句的日誌級別是DEBUG,而列印SQL執行結果集的日誌級別是TRACE。
比如,我們的應用是:com.test.app
而mapper類所在的路徑為:com.test.app.
則我們可以分別控制應用的業務日誌和SQL日誌的輸出。
如下的Log4j2.xml將輸出所有業務日誌,以及SQL語句日誌
引用
<Loggers>
<Loggername="com.test.app."additivity="false"level="DEBUG">
<AppenderRefref="sql_log"/>
<AppenderRefref="Console"/>
</Logger>
<Loggername="com.test.app"additivity="false"level="TRACE">
<AppenderRefref="biz_debug"/>
<AppenderRefref="Console"/>
</Logger>
</Loggers>
如下的Log4j2.xml將輸出所有業務日誌,以及SQL語句日誌,SQL語句執行結果日誌
引用
<Loggers>
<Loggername="com.test.app."additivity="false"level="TRACE">
<AppenderRefref="sql_log"/>
<AppenderRefref="Console"/>
</Logger>
<Loggername="com.test.app"additivity="false"level="TRACE">
<AppenderRefref="biz_debug"/>
<AppenderRefref="Console"/>
</Logger>
</Loggers>
如若滿意,請點擊右側【採納答案】,如若還有問題,請點擊【追問】
希望我的回答對您有所幫助,望採納!
~ O(∩_∩)O~