Spring Data JPA日志打印SQL语句和入参真就这么简单吗?

2024-05-25 14:52:58 浏览数 (2)

1 乞丐版配置

代码语言:javascript复制
spring:
  aop:
    proxy-target-class: true
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true

logging:
  level:
    root: info
    org.hibernate.SQL: debug
    org.hibernate.engine.QueryParameters: debug
    org.hibernate.engine.query.HQLQueryPlan: debug
    org.hibernate.type.descriptor.sql.BasicBinder: trace

这就满足了吗?

2 直接打印 SQL

新增依赖:

代码语言:javascript复制
<dependency>
    <groupId>org.bgee.log4jdbc-log4j2</groupId>
    <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
</dependency>

新增配置:

代码语言:javascript复制
url: jdbc:log4jdbc:mysql://xxxx:3306/data_analysis_test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&rewriteBatchedStatements=false&useTimezone=true&serverTimezone=Asia/Shanghai&transformedBitIsBoolean=true&useSSL=false

driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy

新增文件log4jdbc.log4j2.properties:

代码语言:javascript复制
# If you use SLF4J. First, you need to tell log4jdbc-log4j2 that you want to use the SLF4J logger
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator

连查询结果都给你打出来了:

关注我,紧跟本系列专栏文章,咱们下篇再续!

作者简介:魔都技术专家,多家大厂后端一线研发经验,在分布式系统、和大数据系统等方面有多年的研究和实践经验,拥有从零到一的大数据平台和基础架构研发经验,对分布式存储、数据平台架构、数据仓库等领域都有丰富实践经验。 各大技术社区头部专家博主。具有丰富的引领团队经验,深厚业务架构和解决方案的积累。 负责:

  • 中央/分销预订系统性能优化
  • 活动&优惠券等营销中台建设
  • 交易平台及数据中台等架构和开发设计
  • 车联网核心平台-物联网连接平台、大数据平台架构设计及优化 目前主攻降低软件复杂性设计、构建高可用系统方向。

0 人点赞