Mybatis-Plus 打印日志

在 spring boot 打印日志

application.yaml:

1
2
3
4
5
6
7
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl

logging:
  level:
    com.ooooo.dao.mapper: debug

参考

  1. spring boot logging

原理

源码位置: org.apache.ibatis.mapping.MappedStatement.Builder#Builder

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
public Builder(Configuration configuration, String id, SqlSource sqlSource, SqlCommandType sqlCommandType) {
    mappedStatement.configuration = configuration;
    mappedStatement.id = id;
    mappedStatement.sqlSource = sqlSource;
    mappedStatement.statementType = StatementType.PREPARED;
    mappedStatement.resultSetType = ResultSetType.DEFAULT;
    mappedStatement.parameterMap = new ParameterMap.Builder(configuration, "defaultParameterMap", null, new ArrayList<>()).build();
    mappedStatement.resultMaps = new ArrayList<>();
    mappedStatement.sqlCommandType = sqlCommandType;
    mappedStatement.keyGenerator = configuration.isUseGeneratedKeys() && SqlCommandType.INSERT.equals(sqlCommandType) ? Jdbc3KeyGenerator.INSTANCE : NoKeyGenerator.INSTANCE;
    // id 就是 mapper 的 id
    String logId = id;
    if (configuration.getLogPrefix() != null) {
    logId = configuration.getLogPrefix() + id;
    }
    // 初始化 log
    mappedStatement.statementLog = LogFactory.getLog(logId);
    mappedStatement.lang = configuration.getDefaultScriptingLanguageInstance();
}
0%