mybatis开发dao实现类之SqlSession、SqlSessionFactory、SqlSessionFactoryBuilder的生命周期

一、SqlSessionFactoryBuilder
它的作用只是通过配置文件创建SqlSessionFactory,所以只要创建出SqlSessionFactory,它就可以销毁了。所以说,它的生命周期是在方法之内。

String xmlPath = "mybatis全局配置文件的路径";
Reader reader = Resources.getResourceAsReader(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);

二、SqlSessionFactory
它的作用是创建SqlSession的工厂,工厂一旦创建,除非应用停掉,否则不要销毁,所以说,它的生命周期是在应用范围内。这里可以通过单例模式来管理它,在mybatis整合spring之后,最好的处理方式是把SqlSessionFactory交由spring来做单例管理。

SqlSession sqlSession =  sqlSessionFactory.openSession();

三、SqlSession是一个面向用户(程序员)的接口,它的默认实现是DefaultSqlSession。
Mybatis是通过SqlSession来操作数据库的。SqlSession中不仅包含要处理的SQL信息,还包括一些数据信息,所以说它是线程不安全的,因此它最佳的生命周期范围是在方法体之内。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值