在Spring Boot项目中使用MyBatis时,可以通过配置日志来实现SQL打印。以下是配置步骤和示例代码:
- 在
application.properties
或application.yml
文件中,设置MyBatis的日志实现。
如果你使用的是application.properties
,添加以下配置:
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
如果你使用的是application.yml
,添加以下配置:
mybatis:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
- 确保你的项目中包含了MyBatis的日志实现类。如果你使用的是
StdOutImpl
,则应该是MyBatis自带的,不需要额外引入。
以上配置将会使得MyBatis在执行SQL时将日志打印到控制台。如果你想要更多的日志信息,可以考虑使用其他日志实现,如Log4j或SLF4J,并适当配置它们的日志级别。
例如,使用Log4j2打印SQL语句,你需要添加Log4j2依赖和配置文件:
<!-- log4j2 dependency -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.x.x</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.x.x</version>
</dependency>
然后在log4j2.xml
中配置MyBatis的日志级别:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %msg%n" />
</Console>
</Appenders>
<Loggers>
<Logger name="org.apache.ibatis" level="debug" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
<Root level="error">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
在这个配置中,org.apache.ibatis
日志级别被设置为debug
,这将会输出SQL语句及详细的执行信息。