zoukankan      html  css  js  c++  java
  • mybatis mapper.xml 配置文件问题(有的错误xml是不报的) 导致服务无法启动 。

    转载自 开源编程 一舟
    mybatsi xml编译报错,tomcat启动一直循环,导致内存溢出,启动失败 mapper.xml怎么知道有没有编译错误,哪个位置有错误 这应该是mybatis的一个bug,编译错误,没有报异常抛出来
    package com.jrss.webservice.rest.app.index;
    
    import java.io.IOException;
    
    import org.apache.ibatis.executor.ErrorContext;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.mybatis.spring.SqlSessionFactoryBean;
    import org.springframework.core.NestedIOException;
    
    public class BeanFactory extends SqlSessionFactoryBean{
        
        protected SqlSessionFactory buildSqlSessionFactory() throws IOException{
            try{
                return super.buildSqlSessionFactory();
            }catch (NestedIOException e) {
                e.printStackTrace();
                throw new NestedIOException("Failed parse Mapping resource",e.getCause());
            }finally{
                ErrorContext.instance().reset();
            }
        }
        
        
    }
    
    
    <!-- MyBatis配置 -->
        <bean id="sqlSessionFactory" class="com.jrss.webservice.rest.app.index.BeanFactory">
            <property name="dataSource" ref="dataSource" />
            <!-- 自动扫描entity目录, 省掉Configuration.xml里的手工配置 -->
    
    

    这应该是mybatis的一个bug,编译错误,没有报异常抛出来。

    
    

    新建BeanFactory继承SqlSessionFactoryBean

    
    

    然后重写buildSqlSessionFactory方法,抛出mybatis mapper.xml编译的错误.

    
    
  • 相关阅读:
    洛谷P1033 自由落体 题解
    尴尬
    UVA11988 【Broken Keyboard (a.k.a. Beiju Text)】:题解
    UVA101 The Blocks Problem 题解
    TCP的粘包和拆包问题及解决办法(C#)
    MIPS学习笔记(一)
    MySQL基础(一)
    博客园的标签怎么变了两下???
    nextInt()和nextLine()连用报错
    C++代码雨
  • 原文地址:https://www.cnblogs.com/zhangchenglzhao/p/5344992.html
Copyright © 2011-2022 走看看