Spring开机显示sql参数绑定?
Spring boot show sql parameter binding?
我是 spring 引导新手。 sql 参数绑定的配置设置是什么。例如,在下一行中,我应该能够看到所有“?”的值。
SELECT * 来自 MyFeed WHERE feedId > ? AND isHidden = false ORDER BY feedId DESC LIMIT ?
目前我的配置为
spring.jpa.show-sql:真
这只是对底层持久性提供程序的提示,例如Hibernate、EclipseLink 等。不知道你在用什么,很难说。
对于 Hibernate,您可以配置日志记录以输出绑定参数:
http://www.mkyong.com/hibernate/how-to-display-hibernate-sql-parameter-values-log4j/
这会给你这样的输出:
Hibernate: INSERT INTO transaction (A, B)
VALUES (?, ?)
13:33:07,253 DEBUG FloatType:133 - binding '10.0' to parameter: 1
13:33:07,253 DEBUG FloatType:133 - binding '1.1' to parameter: 2
一个适用于所有 JPA 提供程序的替代解决方案是使用类似 log4jdbc 的东西,它会给你更好的输出:
INSERT INTO transaction (A, B) values (10.0, 1.1);
参见:
将这些添加到 application.properties
,您应该会看到详细的日志。
logging.level.org.hibernate.SQL=debug
logging.level.org.hibernate.type.descriptor.sql=trace
对于 Eclipse link,在 appilication.properties
中添加这些行
jpa.eclipselink.showsql=true
jpa.eclipselink.logging-level=FINE
将这些添加到 属性 文件
#to show sql
spring.jpa.properties.hibernate.show_sql=true
#formatting
spring.jpa.properties.hibernate.format_sql=true
#printing parameter values in order
logging.level.org.hibernate.type.descriptor.sql=trace
在应用程序yml中添加以下内容属性.
logging:
level:
org:
hibernate:
type: trace
添加以下内容在控制台打印格式化后的SQL
spring:
jpa:
show-sql: true
properties:
hibernate:
format_sql: true
假设您正在通过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]
我是 spring 引导新手。 sql 参数绑定的配置设置是什么。例如,在下一行中,我应该能够看到所有“?”的值。
SELECT * 来自 MyFeed WHERE feedId > ? AND isHidden = false ORDER BY feedId DESC LIMIT ?
目前我的配置为
spring.jpa.show-sql:真
这只是对底层持久性提供程序的提示,例如Hibernate、EclipseLink 等。不知道你在用什么,很难说。
对于 Hibernate,您可以配置日志记录以输出绑定参数:
http://www.mkyong.com/hibernate/how-to-display-hibernate-sql-parameter-values-log4j/
这会给你这样的输出:
Hibernate: INSERT INTO transaction (A, B)
VALUES (?, ?)
13:33:07,253 DEBUG FloatType:133 - binding '10.0' to parameter: 1
13:33:07,253 DEBUG FloatType:133 - binding '1.1' to parameter: 2
一个适用于所有 JPA 提供程序的替代解决方案是使用类似 log4jdbc 的东西,它会给你更好的输出:
INSERT INTO transaction (A, B) values (10.0, 1.1);
参见:
将这些添加到 application.properties
,您应该会看到详细的日志。
logging.level.org.hibernate.SQL=debug
logging.level.org.hibernate.type.descriptor.sql=trace
对于 Eclipse link,在 appilication.properties
中添加这些行jpa.eclipselink.showsql=true
jpa.eclipselink.logging-level=FINE
将这些添加到 属性 文件
#to show sql
spring.jpa.properties.hibernate.show_sql=true
#formatting
spring.jpa.properties.hibernate.format_sql=true
#printing parameter values in order
logging.level.org.hibernate.type.descriptor.sql=trace
在应用程序yml中添加以下内容属性.
logging:
level:
org:
hibernate:
type: trace
添加以下内容在控制台打印格式化后的SQL
spring:
jpa:
show-sql: true
properties:
hibernate:
format_sql: true
假设您正在通过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]