mybatis log 不打印sql
时间: 2023-09-30 11:03:26 浏览: 193
如果你的 MyBatis 日志不打印 SQL 语句,可以按照以下步骤进行排查:
1. 确认配置文件中是否开启了日志记录,并且日志级别设置为 DEBUG。
示例配置:
```xml
<configuration>
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
<typeAliases>
<typeAlias alias="Author" type="domain.blog.Author"/>
<typeAlias alias="Blog" type="domain.blog.Blog"/>
<typeAlias alias="Comment" type="domain.blog.Comment"/>
</typeAliases>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
<plugins>
<plugin interceptor="org.mybatis.example.ExamplePlugin">
<property name="pluginProperty" value="100"/>
</plugin>
</plugins>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
<logging>
<logImpl>LOG4J</logImpl>
<level>DEBUG</level>
</logging>
</configuration>
```
2. 确认是否使用了正确的日志实现。
MyBatis 支持多种日志实现,如 Log4j、Log4j2、JDK Logging、Commons Logging 等。确保使用了你所设置的日志实现,并且该日志实现的配置文件中也开启了 DEBUG 级别的日志记录。
3. 确认是否使用了正确的日志记录器名称。
如果你使用的是 Log4j,那么你需要在配置文件中指定正确的日志记录器名称。例如,下面的配置文件指定了用于 MyBatis 的记录器名称:
```xml
<configuration>
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/>
</layout>
</appender>
<logger name="org.mybatis" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="STDOUT"/>
</logger>
</log4j:configuration>
</configuration>
```
4. 确认是否使用了正确的日志引入方式。
在使用 Maven 依赖管理工具时,需要确认是否将你所使用的日志实现和 MyBatis 的日志模块同时引入,例如:
```xml
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.30</version>
</dependency>
</dependencies>
```
以上是 MyBatis 日志不打印 SQL 的可能原因,你可以根据实际情况进行排查。
阅读全文