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 日志及其结果。

相关推荐
guo_wen_qiang12 小时前
springboot如何自定义一个启动器starter
java·spring boot·intellij-idea
RuoyiOffice13 小时前
2026最推荐基于SpringBoot+Vue3的项目管理经营一体化:从商机、合同、任务与工时走到回款和利润
spring boot·项目管理·vue3·crm·合同管理·ruoyi office·项目经营
paopaokaka_luck13 小时前
考研政治刷题小程序(AI推荐题目、ECharts数据分析、章节练习与专项训练、模拟考试、错题本与收藏夹、学习打卡与目标管理、题库和组卷维护)
前端·javascript·spring boot·spring·数据分析·echarts
Rain的Java大神之路1 天前
如何快速上传10G文件
java·spring boot·redis·后端·mysql·spring cloud·面试
+VX:Fegn08951 天前
计算机毕业设计|基于springboot + vue旅游管理系统(源码+数据库+文档)
java·开发语言·vue.js·spring boot·课程设计
需要8261 天前
MySQL 索引 B+ 树与“查询为什么变慢了
java·spring boot·spring·spring cloud·tomcat
一 乐1 天前
二手交易平台|基于springboot + vue二手交易平台(源码+数据库+文档)
java·数据库·vue.js·spring boot·小程序
vx-程序开发1 天前
【计算机毕设】django校园跑腿服务系统83141
java·数据库·vue.js·spring boot·spring·elasticsearch·django
一 乐1 天前
养老院管理系统|基于springboot + vue养老院管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·毕业设计
知识的搬运工旺仔1 天前
唯一索引与 NULL 值:PostgreSQL 主键约束与 NULLS NOT DISTINCT
数据库·后端·sql·postgresql