您好,登錄后才能下訂單哦!
SqlSessionFactoryBuilder(構造器):它會根據配置信息或者代碼來生成SqlSessionFactory(工廠接口)
SqlSessionFactory:依靠工廠來生成SqlSession(SQLSession會話:相當于JDBC中的Connection對象)
SqlSession:即可以發(fā)送SQL去執(zhí)行并返回結果,也可以獲取Mapper的接口
SQL Mapper:它是Mybatis新設計的組件,它是由一個Java接口和Xml文件(或注解)構成的,需要給出對應的SQL和映射規(guī)則,它負責發(fā)送SQL去執(zhí)行,并返回結果。
SqlSessionFactoryBuilder :
作用就是創(chuàng)建SQLSessionFactory,所以創(chuàng)建完成后作用即完成,將它回收,所以它的生命周期只存在于方法的局部。
SqlSessionFactory :
每次應用程序需要訪問數據庫,我們就通過SQLSessionFactory來創(chuàng)建SQLSession(相當于Connection對象),所以SqlsessionFactory應該在Mybatis應用的整個生命周期中,其職責就是創(chuàng)建SQLSession,為了節(jié)省數據庫的資源,我們采用單例模式,一個數據庫只對應一個SQLSessionFactory,管理好數據庫資源的分配。
SqlSessionFactory :
是一個會話,相當于JDBC中的Connection對象,它的生命周期應該是請求數據庫處理事務的過程中。它是一個線程不安全的對象,在涉及多線程編程的過程中,要特別當心,此外每次創(chuàng)建完成后都要及時關閉,長期不關閉會嚴重影響數據庫的性能。我們往往在finally語句塊中關閉它。它存活在一個應用的請求和操作,可以執(zhí)行多條SQL語句,保證事務的一致性。
SqlSessionFactory :
Mapper是一個接口而沒有任何的實現類,它的作用是發(fā)送SQL,然后返回我們需要的結果,或者執(zhí)行SQL從而修改數據庫中數據,因此它應該在一個SQLsession事務方法之內,是一個方法級別的東西,就如同JDBC中的一條SQL語句執(zhí)行,最大范圍和SQLSession相同。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。