1.Resources类 唯一作用:用来读取主配置文件mybatis.xml
InputStream inputstream=Resources.getResourceAsStream("mybatis.xml");
接下来三个类,名字逐渐由长变短:
SqlSessionFactoryBuilder,SqlSessionFactory,SqlSession
2.SqlSessionFactoryBuilder 唯一作用:用来new出来一个SqlSessionFactoryBuilder类的对象
接下来就可以调用这个对象的build方法(将通过Resources类得到的InputStream对象a传入这个build方法)得到一个SqlSessionFactory类的对象
SqlSessionFactoryBuilder sqlsessionfactorybuilder=new SqlSessionFactoryBuilder();
3. SqlSessionFactory:这个类很重要,程序创建这个类用时比较长,耗费资源比较多(也就是说创建起来比较费劲),所以说这个类创建的对象是“重量级对象”),在整个项目中,只需要创建出一个就够用了,这个类的作用是是为了创造SqlSession类对象
SqlSessionFactory类对象的创建需要借助上面的SqlSessionFactoryBuilder类
SqlSessionFactory sqlsessionfactory=sqlsessionfactorybuilder.build(inputstream);
4.SqlSession:这个类对象的创建需要借助上面的SqlSessionFactory类对象的openSession方法
SqlSession sqlSession= sqlsessionfactory.openSession();
有了这个对象你就可以调用这个对象的方法,完成增删改查:
比如selectOne(),selectList(),insert(),update(),delete(),commit(),rollback()
sqlSession.insert(sqlId,student);
其中,student是一个对象,一个代表一行数据的对象:
Student student=new Student();
student.setId(1006);
student.setName("关羽");
student.setEmail("guanyu@163.com");
student.setAge(20);
这三个类合起来
InputStream inputstream=Resources.getResourceAsStream("mybatis.xml");
//创建SqlSessionFactoryBuilder对象
SqlSessionFactoryBuilder sqlsessionfactorybuilder=new SqlSessionFactoryBuilder();
//创建SqlSessionFactory对象
SqlSessionFactory sqlsessionfactory=sqlsessionfactorybuilder.build(inputstream);
//创建SqlSession对象,从 SqlSessionFactory中获取SqlSession
SqlSession sqlSession=sqlsessionfactory.openSession();
总结:有些类的存在,只是为了调用这个类的对象的方法,来创建出另一个类的对象
也就是有些类的存在,就是为了创建另外的一些类