Spring Boot显示sql参数绑定?

新手上路,请多包涵

我是弹簧靴的新手。 sql参数绑定的配置设置是什么?例如,在以下行中,我应该能够看到所有“?”的值。

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

目前,我的配置为

spring.jpa.show-sql: true

原文由 Bhupati Patel 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 933
2 个回答

这只是对底层持久性提供程序(例如 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);

看:

https://code.google.com/p/log4jdbc-log4j2/

原文由 Alan Hay 发布,翻译遵循 CC BY-SA 3.0 许可协议

将这些添加到 application.properties 你应该会看到详细的日志。

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

原文由 rv.comm 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进