解决MyBatis的Mapper XML错误,系统起不来,也不报错问题


MyBatis有一个非常头疼的问题,就是当Mapper XML写法定义错误的时候,系统起不来,但也不报错,始终卡到如下信息位置:

 

信息: Initializing Spring root WebApplicationContext

 

问题分析思路就不叙述了,直接说解决方法吧:

 

新建一个类,继承 org.mybatis.spring.SqlSessionFactoryBean 类,重载 buildSqlSessionFactory 方法,捕获 NestedIOException 异常,并打印异常,如下:

 

1 try {
2     return super.buildSqlSessionFactory();
3 } catch (NestedIOException e) {
4     e.printStackTrace(); // XML 有错误时打印异常。
5     throw new NestedIOException("Failed to parse mapping resource:     '" + mapperLocation + "'", e);
6 } finally {
7     ErrorContext.instance().reset();
8 }

 

然后修改 spring 配置文件 org.mybatis.spring.SqlSessionFactoryBean 替换为刚才新建的类。

 

这样,当MyBatis解析Mapper遇到错误的时候就能输出到控制台了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM