mybatis主要组件生命周期学习笔记

        SqlSessionFactoryBuilder 是利用xml文件或者Java编码获得资源来构建SqlSessionFactory,通过它可以构建多个SessionFactory。它的作用就是一个构建器。

一旦完成构建它的任务也就结束了,所以应该要回收,所以它的生命周期只存在于方法的局部。

        SqlSessionFactory的作用就是创建SqlSession。而SqlSession就是一个会话,相当于JDBC中的Connection对象。每次应用程序访问数据库,都需要用SqlSessionFactory

来创建一个SqlSession,所以SqlSessionFactory应该在Mybatis应用的整个生命周期中。如果多次创建同一个数据库的SqlSessionFactory。则每次创建SqlSessionFactory会

打开更多的数据库链接资源,链接资源会很快耗尽。因此SqlSessionFactory的作用是唯一的,就是创建SqlSession,而且应该采用单例模式。

所以正确的做法是使得每一个数据库只对应一个SqlSessionFactory。

         SqlSession代表和数据库的一次会话;相当于JDBC的一个Connection对象,它的生命周期是在请求数据库处理事务的过程中,是一个线程不安全的对象,涉及多线程时要注意隔离的级别,每次创建用完必须关闭;长期存在会使得数据库链接池的活动资源减少。

         SqlSession和connection一样她都是非线程安全。每次使用都应该去获取新的对象。

         mapper是一个接口没有实现类,但是mybatis会为这个接口生成一个代理对象。它的作用就是发送SQL语句,然后返回我们需要的结果,或者执行SQL修改数据库的数据,因此它应该在一个SqlSession之内,由于难控性,当SqlSession销毁的时候它也会销毁。

          (将接口和xml进行绑定)
          EmployeeMapper empMapper =    sqlSession.getMapper(EmployeeMapper.class);
       两个重要的配置文件:
          mybatis的全局配置文件:包含数据库连接池信息,事务管理器信息等...系统运行环境信息
          sql映射文件:保存了每一个sql语句的映射信息:
                   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值