1. 程式人生 > >mybatis下使用log4j列印sql語句和執行結果

mybatis下使用log4j列印sql語句和執行結果

本來以為很簡單的問題, 結果自己搞了半天還是不行; 然後google, baidu, 搜出來各種方法, 有加slf4j*.jar的,有說去掉slf4j*.jar,還有說要配置mybatis.cfg.xml的, 有的甚至一眼看上去就是不可能成功的. 試了這麼多, 結果沒有一個好用的. 可能是版本不一致的問題? 但是裡面也註明是適用於什麼版本的. 具體原因就不知道了.

mybatis版本: 3.2.3

log4j:1.2.17

後來參考了官方文件, 才知道, 其實只要配置mapper介面類或者配置檔案中mapper的路徑為debug就可以了. 具體可參考這裡. 裡面還說明了, 如果要列印sql語句的執行結果, 需要設定為trace級別.

附上可以正常列印sql及執行結果的配置:

log4j.properties:

log4j.rootLogger=info,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] -%m%n
# 列印sql語句:debug; 執行結果:trace
## 指定mapper配置檔案中的namespace
log4j.logger.mapperNS =TRACE

mapper的配置檔案:

<mapper namespace="mapperNS.user">
<select id="selectUser" parameterType="int" resultType="User">
<![CDATA[
select * from user where id = #{id}
]]>
</select>
</mapper>

列印結果:

2013-12-27 13:16:56,335 DEBUG [mapperNS.user.selectUser] -ooo Using Connection [
[email protected]
]
2013-12-27 13:16:56,344 DEBUG [mapperNS.user.selectUser] -==> Preparing: select * from user where id = ?
2013-12-27 13:16:56,408 DEBUG [mapperNS.user.selectUser] -==> Parameters: 1(String)
2013-12-27 13:16:56,430 TRACE [mapperNS.user.selectUser] -<== Columns: id, name, sex, degree, birthdaty
2013-12-27 13:16:56,436 TRACE [mapperNS.user.selectUser] -<== Row: 1, wang, 1, 1.00, 1983-08-01
2013-12-27 13:16:56,437 DEBUG [mapperNS.user.selectUser] -<== Total: 1
2013-12-27 13:16:56,439 INFO [action.UserAction] -User [id=1, name=wang, sex=1, birthday=null]

另一文章 http://blog.csdn.net/isea533/article/details/22931341

相關推薦

mybatis使用log4j列印sql語句執行結果

本來以為很簡單的問題, 結果自己搞了半天還是不行; 然後google, baidu, 搜出來各種方法, 有加slf4j*.jar的,有說去掉slf4j*.jar,還有說要配置mybatis.cfg.xml的, 有的甚至一眼看上去就是不可能成功的. 試了這麼多, 結果沒有一

logback 列印mybatis sql mybatis 日誌列印sql語句返回結果

logback 列印sql語句: 在logback日誌檔案中開啟debug模式 <logger name="com.ibatis" level="DEBUG" /> <logger name="com.ibatis.common.jdbc.SimpleDataSource"

log4j的使用以及mybatis在控制檯列印sql語句

正確的log4j寫法:#定義LOG輸出級別log4j.rootLogger=DEBUG,Console,File#定義日誌輸出目的地為控制檯log4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.append

Ibatis,Mybatis利用log4jSQL語句列印在控制檯

在做一個專案Demo的時候,使用MyBatis+Spring,發現寫好的SQL查詢出來不對勁,但是也沒報錯, 所以想到用日誌把SQL語句打出來.也參考了部分網友的程式碼,最後總結了一下,發現正常執行。 本人專案為Mybatis+SpringMVC,所有都已配置好,且正常執行

mybatis+log4j列印sql語句到控制檯

不好意思,這篇部落格拖了好久,一直是空白。這兩天又用到了,在網上查了很多資料,做法基本都一樣,但是都沒用,最後終於找到了一篇正確的。 jar包:log4j.jar,sel4j-api.jar,sel4j-log4j12.jar 廢話少說,直接上配置log4j

Mybatis在編譯器中列印sql語句執行後的結果

在mybatisconfig.xml中加入下列語句,mybatis會列印sql語句及執行後的結果 <!-- 列印查詢語句 --> <settings> <setting name="logImpl" value="STDOUT_L

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

mybatislog4j列印sql日誌

一、列印sql到控制檯 1、配置log4j.properties log4j.rootLogger=DEBUG, Console log4j.appender.Console=org.apache.log4j.ConsoleAppender  log4j.appender.

v$sql——儲存的是具體的SQL語句執行計劃相關資訊!

如果知道了session的sid就可以找到當前session正在執行的sql: SQL> select sql_text,fetches,executions,parse_calls,disk_reads,cpu_time,elapsed_time from v$s

spring整合mybatis後,列印SQL語句

這篇文章拾人牙慧,僅供自己使用 網上說mybatis的早前版本配置列印sql還比較簡單,在3.0.6之後配置方式修改了。 現在的spring-mybatis.xml配置如下: <!-- spring和MyBatis完美整合,不需要mybatis的配置對

Oracle 的 sqlplus如何檢視sql語句執行時間

Oracle下如何檢視sql語句的執行時間 有兩種方法 1:在精確度要求非常高的情況下使用 SQL> set timing on; SQL> select * from dual; DUMMY ----- X Executed in 0.296 seconds

Hibernate配置列印sql語句引數

在Hibernate的配置檔案hibernate.cfg.xml中有3個設定項跟顯示SQL語句相關,他們的值都是boolean值: 1、show_sql:是否顯示SQL語句 2、format_sql: 是否格式化輸出字串,增強SQL的可讀性 3、use_s

log4j列印sql語句

maven的jar包依賴: <!--LOG4日誌 start --> <dependency> <groupId>org.slf4j</groupId>

mybatis使用log4j列印sql

1、引入log4j-1.2.14.jar 2、src目錄新建log4j.properties,內容: log4j.rootLogger=DEBUG,TEST,FILE log4j.appe

返回動態SQL語句執行結果

--值,動態查詢結果返回 DECLARE @query NVARCHAR(MAX) DECLARE @testVal INT SET @query='select @testVal=

不需要配置log4j , 除錯列印ibatis執行sql語句引數

背景:如果不想通過配置log4j的方式來列印ibatis執行的sql語句和引數param,可以使用如下方法在控制檯列印sql語句和引數   public static void main(String[] args) { try { //宣告配置檔

MyBaits 無法列印sql語句到控制檯, Log4jslf4j-api衝突解決方案

Mybatis內建的日誌工廠提供日誌功能,具體的日誌實現有以下幾種方式: SLF4J Apache Commons Logging Log4j 2 Log4j JDK logging 具體選擇哪個日誌實現由MyBatis的內建日誌工廠確定。它會使用最先

不需要配置log4j , 調試打印ibatis執行sql語句參數

art pro int 參數 聲明 isa deb 使用 sts 背景:如果不想通過配置log4j的方式來打印ibatis執行的sql語句和參數param,可以使用如下方法在控制臺打印sql語句和參數 public static void main(String[]

log4j2列印Mybatis執行SQL語句SQL語句執行時間

有關於log4j2的詳細配置方式,建議大家觀看log4j2配置檔案詳解,這裡不做介紹 一、首先如需使用log4j2,得引入maven依賴 <!-- log4j2 --> <dependency> <groupI