- SqlsessionFactory是由SqlsessionFactoryBuilder创建,当SqlSessionFctory创建完毕后,SqlsessionFactoryBuilder就应该被立即回收,可见SqlsessionFactoryBuilder生命周期是暂时的。
- SqlsessionFactory生命周期是单例模式,其作用是创建SqlSession对象。一个数据库应该只对应一个SqlsessionFactory对象,管理好数据库资源的分配,以避免过多的connection消耗。
- SqlSession是由SqlsessionFactory所创建,是一个会话,相当于JDBC的一个Connection对象。使用完毕后就应该立即关闭,以避免长期占用数据库连接池资源。SqlSession.close()放在finally中最好。
- Mapper是一个接口,没有实现类,发送SQL,返回结果。生命周期可以和SqlsessionFactory一致。最好的方法是在一次事务中使用Mapper,然后销毁他们。
注意
- 尽量使用xml方式创建SqlSessionFactory,而不要使用代码方式。
- SqlSessionFactory单例模式
- Mybatis官网: http://www.mybatis.org/mybatis-3/zh/