SqlSessionFactoryBuilder是經過利用XML或者java編碼來獲取Configuration配置來構建SqlSessionFactory的。只是一個構建器,構建完生命週期即結束。因此它的生命週期只存在於方法的局部,它的做用就是生成SqlSessionFactory。java
每次訪問數據庫,都須要經過SqlSessionFactory建立SqlSession,它的惟一做用就是建立SqlSession。生命週期存在於mybatis的整個生命週期中。數據庫
SqlSession是一個會話,至關於JDBC的一個Connection對象,它的生命週期應該是在請求數據庫處理事務的過程當中。mybatis
Mapper是一個接口,沒有實現類,它的做用是發送SQL,所以它應該在一個事務方法以內,是一個方法級別的東西,生命週期範圍<=SqlSessionapp