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

Mybatis設(shè)置sql打印日志的多種方法

 更新時(shí)間:2023年08月05日 15:01:40   作者:xingcsdnboke  
這篇文章主要介紹了Mybatis設(shè)置sql打印日志,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

Mybatis設(shè)置sql打印日志

第一種:使用 mybatis 自帶的打印

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

第二種:使用 log4j 日志打印

<settings>
	<!-- 配置 log4j 打印查詢語句 -->
		<setting name="logImpl" value="LOG4J" />-->
	</settings>
</setting>
###顯示SQL語句部分
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.com.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.com.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

備注:log4j 運(yùn)行級別調(diào)到DEBUG,可以在控制臺(tái)打印出mybatis運(yùn)行的sql語句。

#將等級為DEBUG的日悲信慮出到console和file這網(wǎng)個(gè)日的地,console和file的定義在下面的代碼
log4j.rootLogger=DEBUG,console,file
#控制臺(tái)輸出的相關(guān)設(shè)置
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%c]-%m%n
#文件輸出的相關(guān)設(shè)置
log4j.appender.file = org.apache.log4j.RollingFileAppender
log4j.appender.file.File=./log/kuang.log
log4j.appender.file.MaxFileSize=10mb
log4j.appender.file.Threshold=DEBUG
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n
#日志輸出級別
log4j.logger.org.mybatis=DEBUG
log4j.logger.java.sql=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sgl.ResultSet=DEBUG
log4j.logger.java.sq1.PreparedStatement=DEBUG

第三種:springboot 增加配置

在springboot + mybatis整合中,可以將springboot的配置文件添加如下代碼:

logging:###配置sql打印日志
  level:
  com.example.demo.mapper: DEBUG
  org.springframework.web: DEBUG
  java.sql: DEBUG
  org.mybatis.spring: DEBUG

mybatis打印sql日志

背景:

我們?nèi)粘2僮鲾?shù)據(jù)庫的過程一般都是使用mybatis中執(zhí)行sql操作,有時(shí)候?yàn)榱舜_認(rèn)mybatis拼接的sql是否正確,就需要在日志中打印出具體的sql語句,對應(yīng)的入?yún)⒁约皵?shù)據(jù)庫的返回值

打印mybatis的sql日志:

一.sql日志輸出到控制臺(tái),修改mybatis-config文件,指定如下配置:

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

二.sql日志輸出到文件,修改mybatis-config文件,指定如下配置

2.1

<!--指定 MyBatis 增加到日志名稱的前綴,注意這里有一個(gè).號-->
        <setting name="logPrefix" value="sqlLogFileName."/>
        <!--指定 MyBatis 所用日志的具體實(shí)現(xiàn),未指定時(shí)將自動(dòng)查找。SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING-->
        <setting name="logImpl" value="SLF4J"/>

2.2 logback或者log4j增加配置:

appender("ROLLING", RollingFileAppender) {
    encoder(PatternLayoutEncoder) {
        Pattern = "[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%level] [%thread] [%logger{50}] >>> %msg%n"
    }
    rollingPolicy(SizeAndTimeBasedRollingPolicy) {
        fileNamePattern = "log-%d{yyyy-MM-dd}-%i.log"
        maxFileSize = "2GB"
    }
}
appender("ROLLING-ASYNC", AsyncAppender) {
    queueSize = 40960
    neverBlock = true
    appenderRef("ROLLING")
}
//最關(guān)鍵的一句
logger("sqlLogFileName", DEBUG, ["ROLLING-ASYNC"], false)

關(guān)鍵是日志級別要修改成DEBUG級別

日志效果:

[2023-07-07 17:39:49.533] [DEBUG] [**-thread-2] [org.mybatis.spring.SqlSessionUtils] >>> Creating a new SqlSession
[2023-07-07 17:39:49.647] [DEBUG] [**-thread-2] [dao.***Mapper.selectByStatus] >>> ==>  Preparing: select user_id, status, is_deleted, create_time, update_time from user where status = ? 
[2023-07-07 17:39:49.650] [DEBUG] [**-thread-2] [dao.***Mapper.selectByStatus] >>> ==> Parameters: 0(Byte)
[2023-07-07 17:39:51.620] [DEBUG] [**-thread-2] [dao.***Mapper.selectByStatus] >>> <==      Total: 805
[2023-07-07 17:39:51.622] [DEBUG] [**-thread-2] [org.mybatis.spring.SqlSessionUtils] >>> Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7b989b3b]

主要信息包括執(zhí)行的sql語句,sql的入?yún)?,sql的返回值(對update或者insert語句很有用).

參考資料:

http://www.tianshouzhi.com/api/tutorials/mybatis/375

https://www.cnblogs.com/phpdragon/p/12107146.html

到此這篇關(guān)于Mybatis設(shè)置sql打印日志的文章就介紹到這了,更多相關(guān)Mybatis打印日志內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于Zookeeper實(shí)現(xiàn)服務(wù)注冊和服務(wù)發(fā)現(xiàn)功能

    基于Zookeeper實(shí)現(xiàn)服務(wù)注冊和服務(wù)發(fā)現(xiàn)功能

    無論是采用SOA還是微服務(wù)架構(gòu),都需要使用服務(wù)注冊和服務(wù)發(fā)現(xiàn)組件,本文將基于 Zookeeper 實(shí)現(xiàn)服務(wù)注冊和服務(wù)發(fā)現(xiàn)功能,如果跟我一樣有同樣的困惑,希望可以通過本文了解其他組件如何使用 Zookeeper 作為注冊中心的工作原理
    2023-09-09
  • SpringBoot配置文件導(dǎo)入方法詳細(xì)講解

    SpringBoot配置文件導(dǎo)入方法詳細(xì)講解

    Spring Boot雖然是Spring的衍生物, 但默認(rèn)情況下Boot是不能直接使用Spring的配置文件的, 我們可以通過兩種方式導(dǎo)入Spring的配置
    2022-10-10
  • 關(guān)于Java 項(xiàng)目封裝sqlite連接池操作持久化數(shù)據(jù)的方法

    關(guān)于Java 項(xiàng)目封裝sqlite連接池操作持久化數(shù)據(jù)的方法

    這篇文章主要介紹了Java 項(xiàng)目封裝sqlite連接池操作持久化數(shù)據(jù)的方法,文中給大家介紹了sqlite的體系結(jié)構(gòu)及封裝java的sqlite連接池的詳細(xì)過程,需要的朋友可以參考下
    2021-11-11
  • maven的升級版maven-mvnd的使用小結(jié)

    maven的升級版maven-mvnd的使用小結(jié)

    maven-mvnd是Maven的升級版,通過將構(gòu)建過程放在守護(hù)進(jìn)程中,實(shí)現(xiàn)了更快的編譯速度和更低的內(nèi)存占用,下面就來介紹一下如何使用,感興趣的可以了解一下
    2025-01-01
  • Mybatis實(shí)現(xiàn)關(guān)聯(lián)關(guān)系映射的方法示例

    Mybatis實(shí)現(xiàn)關(guān)聯(lián)關(guān)系映射的方法示例

    本文主要介紹了Mybatis實(shí)現(xiàn)關(guān)聯(lián)關(guān)系映射的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • springboot的四種啟動(dòng)方式

    springboot的四種啟動(dòng)方式

    本文主要介紹了springboot的四種啟動(dòng)方式,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 使用Java后端操作Docker的詳細(xì)教程

    使用Java后端操作Docker的詳細(xì)教程

    Docker 是現(xiàn)代開發(fā)和部署流程中不可或缺的一部分,它簡化了應(yīng)用程序的環(huán)境配置、打包和分發(fā),使得在不同機(jī)器上運(yùn)行相同的應(yīng)用變得更加輕松和一致,本文將詳細(xì)介紹如何使用命令行工具(CMD)操控 Docker 來配置環(huán)境,需要的朋友可以參考下
    2025-02-02
  • Spring中網(wǎng)絡(luò)請求客戶端WebClient的使用詳解

    Spring中網(wǎng)絡(luò)請求客戶端WebClient的使用詳解

    作為替代,Spring 官方已在 Spring 5 中引入了 WebClient 作為非阻塞式 Reactive HTTP 客戶端,本文將通過樣例演示如何使用 WebClient,希望對大家有所幫助
    2024-04-04
  • Netty分布式客戶端接入流程初始化源碼分析

    Netty分布式客戶端接入流程初始化源碼分析

    這篇文章主要介紹了Netty分布式客戶端接入流程初始化源碼分析,有關(guān)channelConfig有關(guān)的初始化過程剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-03-03
  • java讀取wav文件(波形文件)并繪制波形圖的方法

    java讀取wav文件(波形文件)并繪制波形圖的方法

    這篇文章主要介紹了java讀取wav文件(波形文件)并繪制波形圖的方法,涉及java操作多媒體音頻文件轉(zhuǎn)換的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06

最新評論

天柱县| 启东市| 永兴县| 三原县| 荆州市| 兖州市| 保康县| 恩平市| 东光县| 靖远县| 漯河市| 托克逊县| 塔城市| 武清区| 嘉善县| 浙江省| 时尚| 磴口县| 万全县| 阳原县| 建平县| 阳谷县| 固始县| 来凤县| 肇庆市| 荥阳市| 黄浦区| 澄迈县| 竹溪县| 延寿县| 无棣县| 曲周县| 桐梓县| 平顶山市| 当阳市| 依兰县| 旬阳县| 惠水县| 靖江市| 开鲁县| 四会市|