Mybatis中在log日志或控制台打印執行的sql


Mybatis版本3.5.2、Mybatis Plus 版本3.2.0

 

方案一、打印至log、控制台

修改 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>
        <!--設置啟用數據庫字段下划線映射到java對象的駝峰式命名屬性,默認為false-->
        <!-- 是否開啟自動駝峰命名規則(camel case)映射,即從經典數據庫列名 A_COLUMN 到經典 Java 屬性名 aColumn 的類似映射。 -->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
        <setting name="cacheEnabled" value="false"/>
        <setting name="lazyLoadingEnabled" value="false"/>
        <setting name="aggressiveLazyLoading" value="true"/>
 <!--指定 MyBatis 增加到日志名稱的前綴。--> <setting name="logPrefix" value="MybatisSql2Logback."/>
     <!--參考:https://blog.csdn.net/qq_32786873/article/details/82019488 --> <!--指定 MyBatis 所用日志的具體實現,未指定時將自動查找。SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING--> <setting name="logImpl" value="SLF4J"/>
</settings> </configuration>

注意,這里的 logPrefix value值 后面帶了一個 英文句號。

 

logback.xml 中增加一項配置:

<!--mybatis日志輸出至logback-->
<logger name="MybatisSql2Logback" level="DEBUG">
    <!--打印至日志-->
    <appender-ref ref="ALL_APPENDER"/>
    <!--打印至控制台-->
    <appender-ref ref="STDOUT" />
</logger>

不添加該配置,SQL不會打印出來,且必須是DEBUG模式。

 

 

方案二、只打印至控制台

修改mybatis-config.xml 中:

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

弊端:上線后日志會打印到 stdout.log 中。 沒有交由logback管理。建議選擇方案一。

 

 

最后、格式化輸出控制台的SQL

IntelliJ IDEA 添加擴展 Mybatis Log Plugin 插件:

 

 

效果:

 

 

 

PS:

https://www.cnblogs.com/atai/p/7081736.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM