spring boot 项目打印sql日志和结果,使用logback或配置文件

在 Spring Boot 项目中使用 MyBatis 或 MyBatis-Plus 作为持久化框架时,你可以通过配置 Logback 来打印 SQL 日志及其结果。以下是一些具体的步骤和配置示例:

配置 Logback 以打印 MyBatis 或 MyBatis-Plus 的 SQL 日志
  1. 创建或修改 Logback 配置文件

    src/main/resources目录下创建或修改logback-spring.xml文件(Spring Boot 会优先加载这个文件,如果没有则加载logback.xml)。

  2. 添加 MyBatis 或 MyBatis-Plus 的 Logger 配置

    在 Logback 配置文件中,你需要为 MyBatis 或 MyBatis-Plus 的相关包添加 logger 配置。以下是一个示例配置,它会在控制台打印 SQL 语句和参数:

    xml复制代码

    <configuration>

    <!-- 其他配置 -->

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">

    <encoder>

    <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>

    </encoder>

    </appender>

    <!-- 打印 MyBatis 或 MyBatis-Plus 的 SQL 语句和参数 -->

    <logger name="com.yourpackage.mapper" level="DEBUG" additivity="false">

    <appender-ref ref="STDOUT" />

    </logger>

    <!-- 如果使用 MyBatis-Plus,可以添加以下配置来捕获更多日志 -->

    <logger name="com.baomidou.mybatisplus" level="DEBUG" />

    <!-- 根 logger 配置 -->

    <root level="INFO">

    <appender-ref ref="STDOUT" />

    </root>

    </configuration>

    请注意,你需要将com.yourpackage.mapper替换为你自己的 Mapper 接口所在的包名。

  3. 配置 MyBatis 或 MyBatis-Plus

    application.propertiesapplication.yml文件中,你可以配置 MyBatis 或 MyBatis-Plus 的日志实现。虽然 Logback 的配置已经能够捕获 SQL 日志,但你也可以通过以下方式显式设置日志实现:

    • 对于 MyBatis:

      properties复制代码

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

      或者,在mybatis-config.xml中配置:

      xml复制代码

      <configuration>

      <settings>

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

      </settings>

      </configuration>

    • 对于 MyBatis-Plus:

      properties复制代码

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

    然而,请注意,这些设置通常不是必需的,因为 Logback 的配置已经足够捕获 SQL 日志。这些设置更多地是为了在没有使用Logback 或需要显式指定日志实现时使用。

  4. 重启应用程序

    修改配置后,重启你的 Spring Boot 应用程序以使更改生效。

  5. 验证日志输出

    运行你的应用程序并执行一些数据库操作,然后检查控制台以确认 SQL 日志和参数是否正确打印。

注意事项
  • 确保你的 Mapper 接口和 XML 映射文件(如果使用)已经正确配置,并且能够被 Spring Boot 扫描到。
  • 如果你的项目中有多个数据源或使用了复杂的配置,请确保你的 Logback 配置能够正确地捕获所有相关的日志。
  • 如果你的 SQL语句很长或包含敏感信息,你可能需要调整 Logback的配置以限制日志输出的长度或隐藏敏感信息。

通过以上步骤,你应该能够在 Spring Boot 项目中使用 Logback 打印 MyBatis 或 MyBatis-Plus 的 SQL 日志及其结果。

相关推荐
ะัี潪ิื16 小时前
springboot加载本地application.yml和加载Consul中的application.yml配置反序列化LocalDate类型差异
spring boot·consul·java-consul
饕餮争锋16 小时前
SQL条件中WHERE 1=1 的功能
数据库·sql
m0_7400437317 小时前
SpringBoot05-配置文件-热加载/日志框架slf4j/接口文档工具Swagger/Knife4j
java·spring boot·后端·log4j
编织幻境的妖17 小时前
SQL查询连续登录用户方法详解
java·数据库·sql
招风的黑耳18 小时前
我用SpringBoot撸了一个智慧水务监控平台
java·spring boot·后端
大佐不会说日语~18 小时前
Spring AI Alibaba 的 ChatClient 工具注册与 Function Calling 实践
人工智能·spring boot·python·spring·封装·spring ai
零度@18 小时前
SQL 调优全解:从 20 秒到 200 ms 的 6 步实战笔记(附脚本)
数据库·笔记·sql
Miss_Chenzr18 小时前
Springboot优卖电商系统s7zmj(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
程序员游老板18 小时前
基于SpringBoot3+vue3的爱心陪诊平台
java·spring boot·毕业设计·软件工程·课程设计·信息与通信
期待のcode18 小时前
Springboot核心构建插件
java·spring boot·后端