当前位置: 首页 > article >正文

mybatisPlus打印sql配置

MyBatis-Plus 提供了方便的配置方式来打印 SQL 查询语句,以便进行调试和性能分析。可以通过配置 log 来输出 SQL 语句以及执行的参数。
方法 1:通过 application.properties 或 application.yml 配置打印 SQL

可以通过配置 application.properties 或 application.yml 文件来启用 MyBatis-Plus 的 SQL 打印功能。
1.1 在 application.properties 中配置

# 开启 MyBatis-Plus SQL 打印日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

这个配置会使用 StdOutImpl 打印 SQL 到控制台。
1.2 在 application.yml 中配置

mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

方法 2:自定义 SQL 日志输出方式

MyBatis-Plus 使用了 MyBatis 的日志框架,因此可以通过配置 MyBatis 的日志实现方式来控制日志的输出。MyBatis 提供了多种日志实现,可以通过配置来选择输出方式。

常见的日志实现包括:

SLF4J(推荐)
CommonsLogging
Log4j
Log4j2
JDKLogging(Java 默认日志)

如果使用的是 SLF4J,则可以通过配置 logback.xml 来控制 SQL 的输出。
方法 3:通过代码配置 MyBatis-Plus

如果希望在代码中配置 SQL 打印,而不是依赖于配置文件,可以通过在 MyBatis 配置中显式设置日志工厂。
3.1 配置 SqlSessionFactory 和 Logging 组件

在 Java 配置中,可以为 MyBatis 配置日志实现类:

@Bean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
    MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean();
    sessionFactory.setDataSource(dataSource);
    
    // 设置 MyBatis-Plus 的日志实现类
    org.apache.ibatis.logging.LogFactory.useSlf4jLogging();
    
    return sessionFactory.getObject();
}

方法 4:结合日志框架(推荐使用 SLF4J + Logback)

结合 SLF4J 和 Logback 来打印 SQL 日志,这样能够提供更强的日志管理能力。以下是一个例子:
4.1 配置 logback.xml

首先,需要在 logback.xml 配置文件中设置日志级别为 DEBUG,并定义日志输出格式:

<configuration>

  <!-- 设置日志级别 -->
  <logger name="com.baomidou.mybatisplus" level="DEBUG" />
  
  <logger name="org.mybatis" level="DEBUG" />
  
  <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
  </appender>

  <root level="INFO">
    <appender-ref ref="stdout" />
  </root>

</configuration>
``
[Something went wrong, please try again later.]

http://www.kler.cn/a/399106.html

相关文章:

  • Android Osmdroid + 天地图 (一)
  • Oracle 19c PDB克隆后出现Warning: PDB altered with errors受限模式处理
  • 【网络安全面经】OSI七层模型每层都有什么协议
  • MSTP知识点
  • MySQL的游标和While循环的详细对比
  • 机器学习-36-对ML的思考之机器学习研究的初衷及科学研究的期望
  • Java面试之多线程并发篇(3)
  • 【51单片机】LCD1602液晶显示屏
  • Spring Boot 应用程序中集成 Redis 并实现存储读取字符串或者复杂对象
  • 【MySQL】MySQL的笛卡尔积现象是什么?简单说说
  • Django数据写入MySQL数据库
  • 蓝牙 HFP 协议详解及 Android 实现
  • 用 Python 从零开始创建神经网络(八):梯度、偏导数和链式法则
  • Elasticsearch基本概念及使用
  • css:修改盒子样式
  • vue3 查看word pdf excel文件
  • 【论文阅读】(Security) Assertions by Large Language Models
  • # JAVA中的Stream学习
  • STM32设计防丢防摔智能行李箱
  • 计算机毕业设计 | springboot+vue大学城水电管理系统 校园学校物业水电管理(附源码+文档)
  • Spring:IoC/DI加载properties文件
  • opencv kdtree pcl kdtree 效率对比
  • Linux中开启 Vim 之旅:从快捷键到插件的实用手册
  • Android【01】TRTC实现跨应用屏幕录制
  • STL序列式容器之list
  • 企业案例:钉钉宜搭对接金蝶云星空