首页 > 代码库 > MyBatis的配置

MyBatis的配置

                                                                             MyBatis的配置

以下代码的底层实现

@Override
    public int add(Student stu) throws IOException {
        String config="MyBatis_config.xml";
         Reader reader=Resources.getResourceAsReader(config);
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
        //openSession底层发生了什么
        SqlSession session = factory.openSession();
        
        //insert底层发生了什么
        int result = session.insert("insertStudent",stu);
        //为什么session可以提交事务
        session.commit();
        //为什么session.close()不会回滚事务
        session.close();
        return result;
    }

 

我们先来解析第一个问题

openSession底层做了什么  
解析:对配置做了初始化


技术分享

技术分享

技术分享

 技术分享

第二个问题:insert 和 delete 底层发生了什么

技术分享

技术分享

技术分享

技术分享

 

第三个问题

为什么session可以引起事务的提交

技术分享

技术分享

技术分享

 

技术分享

技术分享

 

技术分享

 

 技术分享

 

 第四个问题

为什么session.close()不会回滚事务

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

 

MyBatis的配置