为学勿忘家世俭,唯金能使子孙愚。——刘克庄

今天发现stream-query的动态mapper,独立配置不生效:

image-20230401164043203

原来是因为logback解析日志对应的类和包时,忽略了内部类的判断

在执行时发现用的Logger对象是MappedStatement里面的,于是就从MappedStatement的创建

找到C:/Users/achao/.m2/repository/org/mybatis/mybatis/3.5.10/mybatis-3.5.10-sources.jar!/org/apache/ibatis/mapping/MappedStatement.java:81里面的

LogFactory.getLog(logId)(logId)此时是我们的动态Mapper

image-20230401164740220

然后找到C:/Users/achao/.m2/repository/ch/qos/logback/logback-classic/1.2.4/logback-classic-1.2.4.jar!/ch/qos/logback/classic/LoggerContext.class:84下面有一段获取分隔符下标然后进行分割的逻辑

image-20230401164254804

于是将动态mapper原来以$dynamicMapper开头的类名,改成了以org.dromara.streamquery.stream.plugin.mybatisplus.dynamicMapper开头

重新配置,问题解决

image-20230401164618575