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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架