zoukankan      html  css  js  c++  java
  • 一个mybatis错误导致无法启动项目的问题

    今天遇到Mybatis一个问题,导致项目一直起不来,查了很久发现是MapperXML的错,问题表现为:

    系统始终起不来,但也不报错,始终卡到如下信息位置:

    信息: Initializing Spring root WebApplicationContext

    这种情况基本是由于Mapper写的有问题,虽然IDE可能没查出来,比如大小写错误之类

    一种解决方法为:

    新建一个类,继承 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遇到错误的时候就能输出到控制台了。

  • 相关阅读:
    GIT分支的一些开发心得
    java文件压缩和解压
    java发送邮件
    单例多例
    String,StringBuffer,StringBuilder区别
    GIT文件的三种状态
    javascript 常用技巧
    javascript优化工具 Doloto
    thinkphp 5内置验证规则-基本版
    php+redis配置
  • 原文地址:https://www.cnblogs.com/huashu/p/7840135.html
Copyright © 2011-2022 走看看