结论:主要还是ojdbc和mybatis的版本问题。
1.控制台不显示log4j的报错信息:
当使用mybatis3.5.7和ojdbc8的时候,控制台不显示log4j的日志信息。
2.版本不兼容导致控制台报错:
当我使用ojdbc5和mybatis3.5.7,控制台会报错,这个错误是因为使用的Oracle JDBC驱动版本与MyBatis框架不兼容所引起的。
根据错误信息可以看出,错误发生在OracleResultSetImpl.isClosed()
方法上,而该方法在当前使用的Oracle JDBC驱动中是抽象方法。这表明你正在使用的Oracle JDBC驱动版本与MyBatis框架版本不匹配,无法找到实现该抽象方法的具体实现类。
3.缺少相应的jar包导致控制台报错:
当我使用ojdbc5和mybatis3.2.8的时候,控制台输出:“没有找到log4j2配置文件。使用默认配置:只将错误记录到控制台。”
这个错误很隐蔽,我一直以为是我的log4j.properties文件没有配好,然而并不是如此,反而是我的log4j的jar包没有添加完。
这些jar包,需要全复制进lib文件夹下面,路径如下:
控制台终于能正常的输出信息了!
最后,附上我在官网拷贝下来的log4j.properties文件的配置:
# \u5168\u5C40\u65E5\u5FD7\u914D\u7F6E
log4j.rootLogger=debug, stdout
# MyBatis \u65E5\u5FD7\u914D\u7F6E
# \u63A7\u5236\u53F0\u8F93\u51FA
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
完结撒花。