zoukankan      html  css  js  c++  java
  • Mybatis中的基本对象的生命周期和作用域

    不同作用域和生命周期类别是至关重要的,因为错误的使用会导致非常严重的并发问题

    1. SqlSessionFactoryBuilder

    这个类可以被实例化、使用和丢弃,一旦创建了 SqlSessionFactory,就不再需要它了
    作用域:方法作用域(局部作用域),写成静态代码块,在虚拟机初始化的时候执行,被销毁

    1. SqlSessionFactory

    SqlSessionFactory 一旦被创建就应该在应用的运行期间一直存在,没有任何理由丢弃它或重新创建另一个实例.有很多方法可以做到,最简单的就是使用单例模式或者静态单例模式。
    生命周期:应用的运行期间
    作用域:应用作用域,可以写成一个特定的工具类

    3.SqlSession

    每个线程都应该有它自己的 SqlSession 实例。SqlSession 的实例不是线程安全的,因此是不能被共享的,所以它的最佳的作用域是请求或方法作用域。每次收到 HTTP 请求,就可以打开一个 SqlSession,返回一个响应后,就关闭它。最好将其放在一个try|catch块中
    作用域:请求或方法作用域
    生命周期:一个请求或方法,需要及时地sqlSession.close()

  • 相关阅读:
    Python字典处理技巧
    javascript常用对象
    8. 异步操作
    九度OnlineJudge之1022:游船出租
    直方图(下)
    MySQL中关于日期、时间的数据类型和函数
    libvirt(virsh命令介绍)
    11g的alert日志路径
    使用GridView来获取xml文件数据
    MediaPlayer视频播放器
  • 原文地址:https://www.cnblogs.com/Arno-vc/p/13364631.html
Copyright © 2011-2022 走看看