mysql 如何在Sping Boot JPA应用程序中打印带值的SQL语句

noj0wjuj  于 2023-01-04  发布在  Mysql
关注(0)|答案(3)|浏览(176)

我有使用Spring Data JPA和MySQL的Sping Boot 应用程序。通过在application.yml文件中设置SQL属性,我可以看到SQL,但我需要用SQL打印值。我该如何实现呢?

5lhxktic

5lhxktic1#

如果使用JPA和Hibernate,可以在application.properties文件中添加这两行代码,这样可以在控制台上编写查询。

spring.jpa.properties.hibernate.show_sql=true
logging.level.org.hibernate.type.descriptor.sql=trace
gupuwyp2

gupuwyp22#

您可以按照给出的步骤来实现此目的:
1.将以下内容添加到pom.xml

<dependency>
     <groupId>com.github.gavlyukovskiy</groupId>
     <artifactId>p6spy-spring-boot-starter</artifactId>
     <version>1.6.3</version>
 </dependency>

2.如果您正在使用Eclipse/IntelliJ,请在运行-〉编辑配置中添加程序参数

  • 监视属性=/路径到P6监视目录/监视属性
    3.将以下内容添加到spy.properties文件:
driverlist=com.mysql.jdbc.Driver
appender=com.p6spy.engine.spy.appender.Slf4JLogger
logMessageFormat=com.p6spy.engine.spy.appender.CustomLineFormat
customLogMessageFormat=time %(executionTime)|con %(connectionId)|%(sqlSingleLine)
puruo6ea

puruo6ea3#

** Spring 应用程序.yml:**

spring:    
  jpa:
    show-sql: true                # show SQL with System.out.println() 
    properties:
      show_sql: true              # show SQL with Slf4j 
      hibernate.format_sql: true  # show SQL pretty

logging:
  level:
    root: INFO
    org.hibernate: DEBUG        # DEBUG or TRACE is ok

相关问题