最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關于設置Mybatis打印調試sql的兩種方式

 更新時間:2023年08月28日 09:23:23   作者:RelievedAbility  
這篇文章主要介紹了關于設置Mybatis打印調試sql的兩種方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

設置Mybatis打印調試sql的兩種方式

問題描述

在使用mybatis進行開發(fā)的時候,由于可以動態(tài)拼接sql,這樣大大方便了我們。

但是也有一定的問題,當我們動態(tài)sql拼接的塊很多的時候,我們要想從*mapper.xml中直接找出完整的sql就會非常的難,這個時候經常會需要把組合之后的完整sql調試出來比較好。

下面來看兩種調試出sql的兩種方式

解決方案

方案1:

網上說的比較多的,之前也是這么用的一種方式

1:首先將ibatis log4j運行級別調到DEBUG可以在控制臺打印出ibatis運行的sql語句

2:添加如下語句

###顯示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

方案2:

最近發(fā)現的一種方式,方便快捷

在mybatis.cfg.xml中增加如下配置

<settings>中增加
<setting name="logImpl" value="STDOUT_LOGGING" />

這就是mybatis調試出sql的兩種方式~~~

Mybatis打印sql

我們在使用mybatis開發(fā)過程中,經常需要打印sql以及輸入輸出,下面說一下mybatis結合log4j打印sql的。

1.添加mybatis配置

mybatis的日志打印方式比較多,SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING,可以根據自己的需要進行配置。

建議在mybatis.xml中添加如下配置,因為有些web容器(websphere、jboss等)中自帶私有日志,如果我們不配置mybatis默認會使用容器私有日志組件,而不是使用log4j

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

2.log4j.xml配置

mybatis日志打印sql,由于我們用的是mybatis3.3,高于mybatis3.2

所以如果需要打印查詢sql、參數和結果,則配置如下:  

 <logger name="com.example.mapper" additivity="false">
		<level value="DEBUG" />
		<appender-ref ref="SQL_DEBUG" />
		<appender-ref ref="SQL_INFO" />
		<appender-ref ref="SQL_ERROR" />
	</logger>

其中name中填寫的是mapper中的namespace路徑:預約模塊的都是com.example.mapper

如果mybatis低于3.2則配置才會需要添加下面的配置

<logger name="com.ibatis" additivity="true"> 
        <level value="DEBUG" /> 
        <appender-ref ref="STDOUT" />
	<appender-ref ref="DEBUG" />
</logger> 
<logger name="java.sql" additivity="true"> 
        <level value="DEBUG" /> 
        <appender-ref ref="STDOUT" />
	<appender-ref ref="DEBUG" />
</logger> 

3.如果需要將sql單獨打印

則添加如下配置

<appender name="SQL_DEBUG" class="org.apache.log4j.DailyRollingFileAppender">
		<param name="File" value="log/sql/debug.log" />
		<param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="[%-5p] [%d{yyyy-MM-dd HH:mm:ss}] %l - %m%n" />
		</layout>
		<filter class="org.apache.log4j.varia.LevelRangeFilter">
			<param name="LevelMin" value="DEBUG" />
			<param name="LevelMax" value="DEBUG" />
		</filter>
	</appender>

4.建議日志additivity屬性配置為false

這樣可以避免日志重復打印,

當然這也需要看情況,如果需要結合上下文日志來跟蹤問題,可以設置為true。

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • SpringCloud自定義loadbalancer實現標簽路由的詳細方案

    SpringCloud自定義loadbalancer實現標簽路由的詳細方案

    本文介紹了通過標簽路由解決前端開發(fā)環(huán)境接口調用慢的問題,實現方案包括在本地服務注冊元數據、自定義負載均衡器、以及網關配置等步驟,通過環(huán)境變量設置標簽,網關根據請求頭中的標簽進行路由,從而實現前后端互不干擾的開發(fā)調試,感興趣的朋友一起看看吧
    2025-02-02
  • SpringBoot全局域名替換的實現

    SpringBoot全局域名替換的實現

    本文主要介紹了SpringBoot全局域名替換的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-09-09
  • Java 堆排序實例(大頂堆、小頂堆)

    Java 堆排序實例(大頂堆、小頂堆)

    下面小編就為大家分享一篇Java 堆排序實例(大頂堆、小頂堆),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • IDEA源碼修改器JarEditor使用(反編譯-打包一步到位)

    IDEA源碼修改器JarEditor使用(反編譯-打包一步到位)

    JarEditor是一個IDEA插件,用于修改jar包中的類文件,它允許用戶在不解壓jar包的情況下,直接在IDEA中編輯和修改類文件的源碼,修改完成后,可以一鍵編譯并生成新的jar包,替換原jar包
    2025-01-01
  • java中的數組初始化賦初值方式

    java中的數組初始化賦初值方式

    這篇文章主要介紹了java中的數組初始化賦初值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Java實現二進制與十進制之間互相轉換的完整代碼

    Java實現二進制與十進制之間互相轉換的完整代碼

    在編程中,數制轉換是一個非常常見的需求,Java 作為一種高級語言,提供了便捷的方法來實現 二進制和 十進制之間的轉換,本文將介紹 Java 中二進制與十進制互轉的原理與實現方式,并附上完整代碼示例,
    ,需要的朋友可以參考下
    2025-08-08
  • java利用Socket實現聊天室功能實例

    java利用Socket實現聊天室功能實例

    這篇文章主要介紹了java利用Socket實現聊天室功能實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-02-02
  • Java中常用的設計模式之建造者模式詳解

    Java中常用的設計模式之建造者模式詳解

    這篇文章主要為大家詳細介紹了Java中常用的設計模式之建造者模式,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • Spring5學習之基礎知識總結

    Spring5學習之基礎知識總結

    這篇文章主要介紹了Spring5學習之基礎知識總結,文中有非常詳細的代碼示例,對正在學習java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-05-05
  • Spring Mvc中攔截器Interceptor用法解讀

    Spring Mvc中攔截器Interceptor用法解讀

    這篇文章主要介紹了Spring Mvc中攔截器Interceptor用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03

最新評論

泰顺县| 平远县| 集安市| 万宁市| 横山县| 喀喇沁旗| 吉水县| 邹平县| 海阳市| 于都县| 南靖县| 金溪县| 漠河县| 星座| 玉门市| 中西区| 平南县| 石狮市| 定州市| 景宁| 平武县| 驻马店市| 五原县| 丹巴县| 晋江市| 舟曲县| 巧家县| 邵阳县| 宜兰县| 长岛县| 九龙城区| 永安市| 旺苍县| 达尔| 嘉兴市| 隆安县| 贡山| 崇义县| 渝中区| 东丰县| 岳西县|