解決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