Mybatis 的 xml 文件语法错误,启动项目时控制台一直循环解析但是不打印错误

重写SqlSessionFactoryBean的buildSqlSessionFactory方法:

eg:

package com.slp;

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 SecureSqlSessionFactoryBean extends SqlSessionFactoryBean {
	@Override
    protected SqlSessionFactory buildSqlSessionFactory() throws IOException {
        try {
            return super.buildSqlSessionFactory();
        } catch (NestedIOException e) {
            e.printStackTrace(); // XML 有错误时打印异常。
            throw new NestedIOException("Failed to parse mapping resource: '" , e);
        } finally {
            ErrorContext.instance().reset();
        }
    }


}

  

然后在mybatis配置文件中使用重写的类代替SqlSessionFactoryBean即可。

posted @ 2018-11-01 10:18  霓裳梦竹  阅读(742)  评论(0编辑  收藏  举报