SSM-Mybatis-生命周期

SSM-Mybatis-生命周期


SqlSessionFactoryBuilder

​ 它的作用是创建SqlSessionFacoty,创建成功后就失去作用了,所以它只能存在于创建SqlSessionFactory的方法中,不要让其长期存储


SqlSessionFactory

​ 可以被理解成一个数据库连接池,用于创建SqlSession接口对象,所以SqlSessionFactory的生命周期等同于Mybatis的应用周期,因为充当着数据库连接池角色,占据着数据库连接资源,如果创建多个可能会导致系统崩溃,所以往往希望SqlSessionFactory作为一个单例,让他在应用中被共享


SqlSession

​ 充当着数据库连接的角色(Connection对象),可在里面执行多条SQL,通过commit ,rollback等方法,提交和回滚事务,所以它应该存活在一个业务请求中,处理完后,应该关闭这条连接,归还SQLSessionFactory,否则数据库资源会被消耗殆尽,系统崩溃。


Mapper

​ 应为是SqlSession创建的,所以他的生命周期最多和SqlSession一致,所以SqlSession的关闭,他的数据库连接资源也会消失。Mapper代表的是一个请求中的业务处理,所以它应该在一个请求中,一旦业务处理完,就应该废气它。

该在一个请求中,一旦业务处理完,就应该废气它。

SSM-Mybatis-生命周期

上一篇:Mybatis整合Spring之MapperFactoryBean怎么拿到的SqlSessionFactory


下一篇:Mybatis源码分析(一)