在 IDEA 项目中,如果你想打印 JDBC 日志,可以通过配置日志框架(如 Logback 或 Log4j)来实现。Spring Boot 使用的默认日志框架是 Logback,你可以通过在 application.yml
文件中配置日志级别来打印 JDBC 日志。
方法 1: 使用 application.yml
配置 JDBC 日志
logging:
level:
# 显示 SQL 语句
com.zaxxer.hikari: DEBUG # HikariCP 数据库连接池
org.hibernate.SQL: DEBUG # Hibernate 的 SQL 日志
org.springframework.jdbc.core.JdbcTemplate: DEBUG # Spring JDBC Template 的 SQL 日志
org.apache.ibatis.logging: DEBUG # MyBatis 日志
# 显示 SQL 参数
org.hibernate.type: TRACE # 打印 Hibernate 的 SQL 参数
方法 2: 配置 logback.xml
文件(Logback 配置)
你还可以在 src/main/resources
目录下创建 logback.xml
文件,配置更加详细的 JDBC 日志输出。以下是一个例子:
<configuration>
<!-- 设置日志输出级别 -->
<logger name="com.zaxxer.hikari" level="DEBUG" />
<logger name="org.hibernate.SQL" level="DEBUG" />
<logger name="org.springframework.jdbc.core.JdbcTemplate" level="DEBUG" />
<logger name="org.apache.ibatis.logging" level="DEBUG" />
<!-- 打印 SQL 参数 -->
<logger name="org.hibernate.type" level="TRACE" />
<!-- 配置日志的输出形式 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- 根日志输出 -->
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>
方法 3: 配置 log4j2.xml
文件(Log4j2 配置)
如果你的项目使用 Log4j2 作为日志框架,也可以通过配置 log4j2.xml
文件来打印 JDBC 日志。以下是一个简单的 log4j2.xml
配置文件示例:
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<!-- JDBC 日志 -->
<Logger name="com.zaxxer.hikari" level="debug" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
<Logger name="org.hibernate.SQL" level="debug" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
<Logger name="org.springframework.jdbc.core.JdbcTemplate" level="debug" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
<Logger name="org.apache.ibatis.logging" level="debug" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
<!-- 打印 SQL 参数 -->
<Logger name="org.hibernate.type" level="trace" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
<!-- 根日志输出 -->
<Root level="info">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
方法 4: 使用 MyBatis 配置 SQL 日志
如果你使用的是 MyBatis,可以在 mybatis-config.xml
中配置日志:
<configuration>
<settings>
<!-- 启用 MyBatis 内部日志 -->
<setting name="logImpl" value="STDOUT_LOGGING" />
</settings>
</configuration>
通过以上方法,你可以在 IDEA 项目中打印 JDBC 的 SQL 日志和参数,有助于调试 SQL 语句。