MyBatis 默认情况下不会打印任何日志,MyBatis 想要实现日志功能需要依靠第三方日志框架。
主要的日志实现有:
- SLF4J
- Log4j
- Log4j2
- JDK日志
MyBatis 通过实现 Log接口来支持这些日志框架:
public interface Log {
void debug(String message);
void trace(String message);
//.. 其他方法也类似
}
MyBatis 的 DefaultLogger 实现了 Log 接口,并委托给日志实现进行日志记录。
MyBatis默认使用 SLF4J 作为日志实现。
要启用 MyBatis 日志,需要进行一下配置:
- 引入日志依赖,如 log4j 依赖。
- 配置 mybatis-config.xml:
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
- 指定日志实现为log4j。
- 添加log4j.properties 配置。
Mybatis 通过 Log 记录下 SQL 语句及用时:
Executing SQL:
SELECT
*
FROM
users
WHERE
id = ?
Parameters: 1(Integer)
0 rows affected
日志级别可以通过 log4j 的配置来控制。