首页 > 数据库技术 > 详细

mybatis中的factory工厂与Sqlsession

时间:2018-12-20 19:44:17      阅读:147      评论:0      收藏:0      [点我收藏+]

1.SqlSession的使用范围

  SqlSession中封装了对数据库的操作,如:查询、插入、更新、删除等。通过SqlSessionFactory创建SqlSession,而SqlSessionFactory是通过SqlSessionFactoryBuilder进行创建的。

2. SqlSessionFactoryBuilder

  SqlSessionFactoryBuilder用于创建SqlSessionFacotySqlSessionFacoty一旦创建完成就不需要SqlSessionFactoryBuilder了,因为SqlSession是通过SqlSessionFactory生产,所以可以将SqlSessionFactoryBuilder当成一个工具类使用,最佳使用范围是方法范围即方法体内局部变量。

3. SqlSessionFactory

  SqlSessionFactory是一个接口,接口定义了openSesion的不同重载方法,SqlSessionFacoty的最佳使用范围是整个应用运行期间,一旦创建后可以重复使用,通常以道路模式管理SqlSessionFacoty。

4. SqlSession

  SqlSession是一个面向用户的接口,SqlSession中定义了数据库操作方法。

  每个线程都应该有自己的SqlSession实例。SqlSession的实例是不能共享使用的,它也是线程不安全的。因此最佳的范围是请求或方法范围。绝对不能将SqlSession实例的引用放在一个类的静态字段或实例字段中。

  打开一个SqlSession,使用完毕就要关闭它。通常把这个关闭操作放到finally块中以确保每次都能执行关闭。如下:

SqlSession session = sqlSessionFactory.openSession();
    try {
          // do work
    } finally {
          session.close();
    }

 

mybatis中的factory工厂与Sqlsession

原文:https://www.cnblogs.com/wyhluckdog/p/10151668.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!