新聞中心
簡介
使用Mybatis開發(fā)Dao,通常有兩個方法,即原始Dao開發(fā)方法和Mapper接口開發(fā)方法。下面話不多說,來一起看看詳細(xì)的介紹:
主要概念介紹:
MyBatis中進(jìn)行Dao開發(fā)時候有幾個重要的類,它們是SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession。
SqlSession中封裝了對數(shù)據(jù)庫的操作,如:查詢、插入、更新、刪除等。通過SqlSessionFactory創(chuàng)建SqlSession,而SqlSessionFactory是通過SqlSessionFactoryBuilder進(jìn)行創(chuàng)建。
1、SqlSessionFactoryBuilder
SqlSessionFactoryBuilder用于創(chuàng)建SqlSessionFacoty,SqlSessionFacoty一旦創(chuàng)建完成就不需要SqlSessionFactoryBuilder了,因?yàn)镾qlSession是通過SqlSessionFactory生產(chǎn),所以可以將SqlSessionFactoryBuilder當(dāng)成一個工具類使用,最佳使用范圍是方法范圍即方法體內(nèi)局部變量。
2、SqlSessionFactory
SqlSessionFactory是一個接口,接口中定義了openSession的不同重載方法,SqlSessionFactory的最佳使用范圍是整個應(yīng)用運(yùn)行期間,一旦創(chuàng)建后可以重復(fù)使用,通常以單例模式管理SqlSessionFactory。
3、SqlSession
SqlSession是一個面向用戶的接口, sqlSession中定義了數(shù)據(jù)庫操作,默認(rèn)使用DefaultSqlSession實(shí)現(xiàn)類。
SqlSession中提供了很多操作數(shù)據(jù)庫的方法:如:selectOne(返回單個對象)、selectList(返回單個或多個對象),SqlSession是線程不安全的,在SqlSesion實(shí)現(xiàn)類中除了有接口中的方法(操作數(shù)據(jù)庫的方法)還有數(shù)據(jù)域?qū)傩?,SqlSession最佳應(yīng)用場合在方法體內(nèi),定義成局部變量使用,絕對不能將SqlSession實(shí)例的引用放在一個類的靜態(tài)字段或?qū)嵗侄沃小?/p>
打開一個 SqlSession;使用完畢就要關(guān)閉它。通常把這個關(guān)閉操作放到 finally 塊中以確保每次都能執(zhí)行關(guān)閉。
如下:
SqlSession session = sqlSessionFactory.openSession(); try { // do work } finally { session.close(); }
名稱欄目:MyBatis學(xué)習(xí)教程之開發(fā)Dao的方法教程-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://www.dlmjj.cn/article/cegpge.html