Spring Boot如何显示SQL参数绑定?

11 浏览
0 Comments

Spring Boot如何显示SQL参数绑定?

我对Spring Boot还不熟悉。关于SQL参数绑定的配置设置是什么?例如,在下面的代码行中,我应该能够看到所有“?”的值。\n

SELECT * FROM MyFeed WHERE feedId > ? AND isHidden = false ORDER BY feedId DESC LIMIT ?

\n目前,我的配置如下:\nspring.jpa.show-sql: true \n

0
0 Comments

问题:Spring Boot中如何显示SQL参数绑定?

原因:在Spring Boot 3中,由于使用了Hibernate 6,之前的方法不再适用。

解决方法:尝试以下操作:

1. 在application.yml或application.properties文件中添加以下配置:

logging:

pattern:

level:

org.hibernate.orm.jdbc.bind: trace

2. 参考以下链接获取更多信息:

- https://stackoverflow.com/a/74587796/2648077

- https://stackoverflow.com/a/74862954/2648077

对于Spring Boot 3,这个方法是有效的。

- stackoverflow.com/a/74587796/175554 这个方法对我很有用。

0
0 Comments

在Spring Boot中,如果想要显示SQL参数绑定的详细信息,可以按照以下步骤进行配置和设置。

首先,在应用程序的yml文件中添加以下属性:

logging:

level:

org:

hibernate:

type: trace

这个配置将设置Hibernate的日志级别为trace,以便打印出更详细的SQL执行信息。

接下来,添加以下配置,以便在控制台中打印格式化的SQL语句:

spring:

jpa:

show-sql: true

properties:

hibernate:

format_sql: true

这个配置将启用Spring JPA的show-sql功能,并设置Hibernate的format_sql为true,以便将SQL语句格式化输出。

假设我们要通过id查找学生记录,那么在执行查询时,可以看到绑定的参数信息如下所示:

Hibernate: select student0_.id as id8_5_0_ from student student0_
where student0_.id=?
2020-07-30 12:20:44.005 TRACE 1328 --- [nio-8083-exec-8]
o.h.type.descriptor.sql.BasicBinder      : binding parameter [1] as
[BIGINT] - [1]

这个输出显示了执行的SQL语句以及绑定的参数信息。可以看到,查询语句中的参数位置使用了占位符"?",而日志中的输出则显示了参数的具体值和数据类型。

通过以上配置和设置,我们可以方便地查看和调试Spring Boot应用程序中的SQL参数绑定情况。这对于定位和解决与数据库交互相关的问题非常有帮助。

0
0 Comments

问题原因:在Spring Boot项目中,默认情况下,SQL参数绑定的细节信息不会显示在日志中。

解决方法:通过在application.properties文件中添加以下配置,可以让日志中显示SQL参数绑定的详细信息。

logging.level.org.hibernate.SQL=debug
logging.level.org.hibernate.type.descriptor.sql=trace

这些配置可以设置Hibernate的日志级别,使其输出SQL语句和参数绑定的详细信息。通过将logging.level.org.hibernate.SQL设置为debug,可以将SQL语句输出到日志中。将logging.level.org.hibernate.type.descriptor.sql设置为trace,可以将参数绑定的详细信息输出到日志中。

通过添加以上配置到application.properties文件中,即可让Spring Boot项目中的日志显示SQL参数绑定的详细信息。

0