...

How can I log SQL statements in Spring Boot?

Logging SQL statements in a Spring Boot application can be useful for debugging and performance analysis. You can achieve this by configuring the data source and using the logging capabilities of your chosen database provider. Here, I’ll provide an example for a Spring Boot application using Hibernate and MySQL.

1. Include Logging Dependencies

Make sure you have the necessary logging dependencies in your project. For example, if you’re using Maven, include the following dependencies:

<dependencies>
    <!-- Spring Boot Starter Data JPA -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

    <!-- MySQL Connector -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>

    <!-- Logback (Logging Framework) -->
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
    </dependency>
</dependencies>

2. Configure Logging in application.properties or application.yml

Add the following configuration properties to your application.properties or application.yml file:

# Logging SQL statements (Hibernate)
spring.jpa.show-sql=true
logging.level.org.hibernate.SQL=debug
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=trace

The spring.jpa.show-sql=true property enables the logging of SQL statements, and the logging.level.org.hibernate.SQL=debug property sets the log level for Hibernate SQL statements to debug. Adjust these properties based on your logging preferences. Finally If you want to log values too use logging.level.org.hibernate.type.descriptor.sql.BasicBinder=trace.

Seraphinite AcceleratorOptimized by Seraphinite Accelerator
Turns on site high speed to be attractive for people and search engines.