SpringBoot怎么在控制台输出Mydatis的sql信息
时间: 2024-09-12 15:07:05 浏览: 53
在Spring Boot项目中,如果你想要在控制台看到Mybatis的SQL查询信息,可以利用Spring Boot对Mybatis的内置支持以及一些配置来实现。以下是基本步骤:
1. 添加mybatis-spring-boot-starter依赖:在你的`pom.xml`或`build.gradle`文件中添加这个依赖,它包含了Mybatis和其Spring集成所需的组件。
```xml
<!-- Maven -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>版本号</version>
</dependency>
// Gradle
implementation 'org.mybatis:spring-boot-starter:版本号'
```
2. 配置logging:默认Spring Boot会使用logback作为日志框架,你需要开启DEBUG级别以便能看到详细的SQL信息。在application.properties或application.yml中设置logback:
```properties
logging.level.org.apache.ibatis=DEBUG
```
或者
```yaml
logging:
level:
org.apache.ibatis: DEBUG
```
3. 如果你不想让所有的SQL都打印出来,可以选择只打印特定的SQL。可以在Mybatis的SqlSession中设置打印拦截器,比如DbLogInterceptor:
```java
@Configuration
public class MybatisConfig {
@Bean
public SqlSessionFactory sqlSessionFactory(MyBatisBuilderCustomizer customizer) throws Exception {
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
factoryBean.setDataSource(dataSource());
factoryBean.setMapperLocations("classpath:mapper/*.xml");
factoryBean.setConfiguration(customizer.apply(configuration()));
return factoryBean.getObject();
}
@Bean
public LoggingSqlSessionFactoryBean loggingSqlSessionFactory(SqlSessionFactory sqlSessionFactory) {
LoggingSqlSessionFactoryBean factoryBean = new LoggingSqlSessionFactoryBean(sqlSessionFactory);
factoryBean.setLogger(new LogbackLoggingSqlSessionLogger());
return factoryBean;
}
}
```
4. 运行应用,现在你应该能在控制台看到Mybatis生成的SQL查询信息了。
阅读全文