mybatis主要类的介绍
类的介绍
1. Resources类
Resources 类为从类路径中加载资源,提供了易于使用的方法。
String resource = “mybatis-config.xml”;
InputStream in = Resources.getResourceAsStream(resource );
2. SqlSessionFactoryBuilder 类
SqlSessionFactoryBuilder这个类的作用就是为了创建SqlSessionFactory的,一旦SqlSessionFactory创建完毕,
SqlSessionFactoryBuilder就没有存在的价值了,就应该被销毁。所以SqlSessionFactoryBuilder最好的作用域
就是方法体内(及作为一个本地方法变量),用完即销毁。生命周期也就是调用方法的开始到结束。
创建SqlSessionFactory对象
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(in);
3. SqlSessionFactory 类
重量级对象, 程序创建一个对象耗时比较长,使用资源比较多,在整个项目中,有一个就够用了。 SqlSessionFactory作用: 获取SqlSession对象。
SqlSession sqlSession = factory.openSession();
openSession()方法说明:
1. openSession() :无参数的, 获取是非自动提交事务的SqlSession对象
2. openSession(boolean):
openSession(true) 获取自动提交事务的SqlSession.
openSession(false) 非自动提交事务的SqlSession对象
SqlSessionFactory一旦被创建,就会存在于程序的整个生命周期,也就是只要程序不结束,它就会一直存在,
你不会去主动销毁它,因为干嘛要销毁它呢?所以,我们要做的就是不要重复的去创建SqlSessionFactory!
单例模式很适合这种情况!
4.SqlSession类
SqlSession接口 :定义了操作数据的方法 例如 selectOne() ,selectList() ,insert(),update(), delete(), commit(), rollback()
SqlSession接口的实现类DefaultSqlSession。
SqlSession实例是不能共享的,并且不是安全的,所以它的最好的作用域应该是方法体内,
或者是一次请求时,即method或者request,也就是说再收到一次Http请求时,就应该创建一次
一个SqlSession实例,那么也就是说在每次使用完之后我们都需要把它关闭,即调用.close();
著作权归作者所有。商业转载请联络作者获得授权,非商业转载请注明出处。
评论