使用DataSource-Proxy在Spring Boot中記錄SQL語句 - Vlad Mihalcea
在本文中,我將向您展示使用 Spring Boot 時記錄 SQL 語句的最佳方式。
記錄 SQL 查詢非常重要,因為它允許您驗證生成語句的數量、自動生成查詢的語法,以及證明JDBC 批處理按預期工作。
DataSource-Proxy是記錄 SQL 語句的最佳方式之一:由於它代理 JDBC DataSource,因此它可以記錄您可能與 Spring Boot 一起使用的任何資料訪問層技術的語句。即使您混合使用 JPA 和jOOQ,DataSource-Proxy 也會列印所有通過Connection代理的 JDBC 執行的 SQL 語句。
新增依賴:
<dependency> <groupId>com.github.gavlyukovskiy</groupId> <artifactId>datasource-proxy-spring-boot-starter</artifactId> <version>${ds-proxy-spring-boot-starter.version}</version> </dependency> |
當 Spring Boot 啟動時,它會建立一個DataSource供 JPA、Hibernate 或其他資料訪問技術使用。為了使用 DataSource-Proxy,我們需要允許應用程式使用這個代理替代預設的 JDBCDataSource。
現在 Spring Boot 可以列印由任何資料訪問技術生成的有意義的 SQL 語句:
Name:dataSource, Connection:5, Time:1, Success:True Type:Prepared, Batch:False, QuerySize:1, BatchSize:0 Query:[" SELECT u.id AS id1_7_, u.email AS email5_7_, u.external_id AS external6_7_, u.first_name AS first_na7_7_, u.last_name AS last_nam9_7_, FROM users u WHERE u.email = ? "] Params:[( john.doe@acme.com )] |
原文點選標題
相關文章
- 使用 Spring Transactional 註釋的最佳方式 - Vlad MihalceaSpring
- jsqlparser使用記錄---生成sql語句JSSQL
- spring-boot記錄sql探索SpringbootSQL
- SQL 搜尋方法或鍵集分頁 - Vlad MihalceaSQL
- 使用SQL語句去掉重複記錄的兩種方法SQL
- MySQL 記錄所有執行了的 sql 語句MySql
- Spring Boot 記錄Spring Boot
- 在JPA中請優先使用sequence策略生成實體識別符號的值 - Vlad Mihalcea符號
- 批處理最佳實踐 - Vlad Mihalcea
- 在Spring Boot中使用CommonsRequestLoggingFilter記錄傳入的請求Spring BootFilter
- Java中如何解析SQL語句、格式化SQL語句、生成SQL語句?JavaSQL
- COBOL六十週年紀念:過去,現在和未來 -Vlad Mihalcea
- 使用JPA和Hibernate呼叫儲存過程的最佳方法 - Vlad Mihalcea儲存過程
- [20230329]記錄除錯sql語句遇到的問題.txt除錯SQL
- springboot 中列印 sql 語句Spring BootSQL
- Spring Boot 2 中如何使用 Log4j2 記錄日誌Spring Boot
- 如何啟用Hibernate慢查詢日誌? -Vlad Mihalcea
- 一條SQL語句在MySQL中如何執行的MySql
- 使用sql語句查詢平均值,使用sql語句查詢資料總條數, not in 篩選語句的使用SQL
- 學習記錄Spring Boot 記錄配置細節Spring Boot
- 使用FlexyPool度量你的XA事務連線池合適大小 - Vlad MihalceaFlex
- SQL語句大全,你需要的SQL在這裡SQL
- SQL語句SQL
- spring-boot-route(十七)使用aop記錄操作日誌Springboot
- JDBC驅動程式Maven依賴項大全列表 - Vlad MihalceaJDBCMaven
- 什麼是單主資料庫複製? -Vlad Mihalcea資料庫
- 在spring boot3中使用native imageSpring Boot
- 在 Spring Boot 中使用 RedisSpring BootRedis
- 一條sql語句在mysql中是如何執行的MySql
- 一條 SQL 語句在 MySQL 中是如何執行的?MySql
- [20181013]12cR2 無法執行的sql語句會記錄在alert.log.txtSQL
- 使用JPA和Hibernate延遲載入實體屬性的最佳方法 - Vlad Mihalcea
- Fastapi sqlalchemy DBApi 直接使用sql語句ASTAPISQL
- hibernate在JPA規範中在控制檯無法出現SQL語句SQL
- spring boot中zookeeper使用Spring Boot
- spring boot中redis使用Spring BootRedis
- sql中row_number over語句SQL
- 【Spring Boot 使用記錄】kafka自動配置和自定義配置Spring BootKafka