无法初始化工具类

来源:2-5 初始化工具类MyBatisUtils

慕后端2033046

2020-01-11 20:50:27

出现了java.lang.NoClassDefFoundError:Could not initialize class com.imooc.util.MyBatisUtils错误

http://img.mukewang.com/climg/5e19c451080a055e04040289.jpg

这是目录结构



  1. @Test
    public void testMyBatisUtils(){
            SqlSession sqlSession=null;
        try {
            sqlSession= MyBatisUtils.openSession();
            Connection connection=sqlSession.getConnection();
            System.out.println(connection);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            MyBatisUtils.closeSession(sqlSession);
        }
    }


  2. public class MyBatisUtils {
        private static SqlSessionFactory sqlSessionFactory=null;
        static {
            Reader reader=null;
            try {
                Resources.getResourceAsReader("mybatis-config.xml");
                sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);
                System.out.println("fewsfwfe");
            } catch (IOException e) {
                e.printStackTrace();
                throw new ExceptionInInitializerError(e);
            }
        }
    
        //创建一个新的SQLSessionFactory对象
        public static SqlSession openSession(){
            return sqlSessionFactory.openSession();
        }
    
        public static void closeSession(SqlSession session){
            if(session!=null){
                session.close();
            }
    
        }
    }
    老师这种报错按您的经验来看一般是由于什么原因呢,又该在代码哪里找错误呢?
写回答

1回答

好帮手慕酷酷

2020-01-12

同学你好,MyBatisUtils 中的代码编写的有点小问题,这里应该将读取的xml文件,赋值为reader对象。这样才能初始化MyBatis的sqlSessionFactory。

具体如下:

http://img.mukewang.com/climg/5e1a8cda096c3ed607550201.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

0

0 学习 · 8016 问题

查看课程