SqlSession的使用范围
?
?
SqlSession的使用范圍
SqlSession中封裝了對(duì)數(shù)據(jù)庫(kù)的操作,如:查詢(xún)、插入、更新、刪除等。
SqlSession通過(guò)SqlSessionFactory創(chuàng)建。
SqlSessionFactory是通過(guò)SqlSessionFactoryBuilder進(jìn)行創(chuàng)建。
?
SqlSessionFactoryBuilder
SqlSessionFactoryBuilder用于創(chuàng)建SqlSessionFacoty,SqlSessionFacoty一旦創(chuàng)建完成就不需要SqlSessionFactoryBuilder了,因?yàn)镾qlSession是通過(guò)SqlSessionFactory創(chuàng)建的。所以可以將SqlSessionFactoryBuilder當(dāng)成一個(gè)工具類(lèi)使用,最佳使用范圍是方法范圍即方法體內(nèi)局部變量。
SqlSessionFactory
SqlSessionFactory是一個(gè)接口,接口中定義了openSession的不同重載方法,SqlSessionFactory的最佳使用范圍是整個(gè)應(yīng)用運(yùn)行期間,一旦創(chuàng)建后可以重復(fù)使用,通常以單例模式管理SqlSessionFactory。
SqlSession
SqlSession是一個(gè)面向用戶的接口,sqlSession中定義了數(shù)據(jù)庫(kù)操作方法。
?????? 每個(gè)線程都應(yīng)該有它自己的SqlSession實(shí)例。SqlSession的實(shí)例不能共享使用,它也是線程不安全的。因此最佳的范圍是請(qǐng)求或方法范圍。絕對(duì)不能將SqlSession實(shí)例的引用放在一個(gè)類(lèi)的靜態(tài)字段或?qū)嵗侄沃小?/p>
打開(kāi)一個(gè) SqlSession;使用完畢就要關(guān)閉它。通常把這個(gè)關(guān)閉操作放到 finally 塊中以確保每次都能執(zhí)行關(guān)閉。如下:
SqlSession session = sqlSessionFactory.openSession(); try {// do work } finally {session.close(); }?
總結(jié)
以上是生活随笔為你收集整理的SqlSession的使用范围的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: xls文件二进制格式
- 下一篇: 开源微内核seL4