背景:
我們?nèi)粘2僮鲾?shù)據(jù)庫(kù)的過(guò)程一般都是使用mybatis中執(zhí)行sql操作,有時(shí)候?yàn)榱舜_認(rèn)mybatis拼接的sql是否正確,就需要在日志中打印出具體的sql語(yǔ)句,對(duì)應(yīng)的入?yún)⒁约皵?shù)據(jù)庫(kù)的返回值
打印mybatis的sql日志:
一.sql日志輸出到控制臺(tái),修改mybatis-config文件,指定如下配置:
<setting name="logImpl" value="STDOUT_LOGGING"/>
二.sql日志輸出到文件,修改mybatis-config文件,指定如下配置
2.1 <!--指定 MyBatis 增加到日志名稱的前綴,注意這里有一個(gè).號(hào)-->
<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)鍵是日志級(jí)別要修改成DEBUG級(jí)別
日志效果:
[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語(yǔ)句,sql的入?yún)?,sql的返回值(對(duì)update或者insert語(yǔ)句很有用).
參考資料:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-616138.html
http://www.tianshouzhi.com/api/tutorials/mybatis/375
https://www.cnblogs.com/phpdragon/p/12107146.html文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-616138.html
到了這里,關(guān)于mybatis打印sql日志的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!