Mybatis開發dao的方法

2021-07-30 08:17:20 字數 1897 閱讀 2034

1.sqlsession使用範圍

1.1 sqlsessionfactorybuilder

通過sqlsessionfactorybuilder建立會話工廠sqlsessionfactory

將sqlsessionfactorybuilder當成乙個工具類使用即可,不需要使用單例管理sqlsessionfactorybuilder。

在需要建立sqlsessionfactory時候,只需要new一次sqlsessionfactorybuilder即可。

1.2sqlsessionfactory

通過sqlsessionfactory建立sqlsession,使用單例模式管理sqlsessionfactory(工廠一旦建立,使用乙個例項)。

當mybatis和spring整合後,使用單例模式管理sqlsessionfactory

1.3sqlsession

sqlsession是乙個面向使用者(程式設計師)的介面

sqlsession中提供了很多運算元據庫的方法:如:seleteone(返回單個物件)、selectlist(返回單個或多個物件)。

sqlsession是執行緒不安全的,在sqlsession實現類中除了有介面中的方法(運算元據庫的方法)還有資料域屬性。

sqlsession最佳應用場合在方法體內,定義區域性變數使用。

2.原始dao開發方法(程式設計師需要寫dao介面和dao實現類)

2.1思路

程式設計師需要寫dao介面和dao實現類。

需要向dao實現類中注入sqlsessionfactory,在方法體內通過sqlsessionfactory建立sqlsession。

2.2dao介面

例:public inte***ce userdao

2.3dao介面實現類

例:public  class  userdaoimpl  implements  userdao

@override

public  user  finduserbyid(int  id)  throws  exception

@override

public  void  insertuser(user  user)  throws  exception

@override

public  void  deleteuser(int  id)  throws  exception

}2.4  原始dao開發問題總結

(1)dao介面實現類方法中存在大量模板**,設想能否將這些**提取出來,大大減輕程式設計師工作量。

(2)呼叫sqlsession方法時將statement的id硬編碼了。

(3)呼叫sqlsession方法時傳入的變數,由於sqlsession方法使用泛型,即使變數型別傳入錯誤,在編譯階段也不報錯,不利於程式設計師開發。

3.1 思路

開發規範:

例:select  *  from  user  where  id=#

public  user  finduserbyid(int  id) throws  exception;

總結:以上開發規範主要是對下邊的**進行統一生成:

user  user =sqlsession.seleteone("test.finduserbyid",id);

sqlsession.insert("test.insertuser",user);

等public  user  finduserbyid(int  id) throws  exception;

selete  *  from  user  where  id=#

3.5測試

3.6問題總結

(1)**物件內部呼叫seleteone或seletelist

注意:持久層方法的引數可以包裝型別,service方法中建議不要使用包裝型別(不利於業務層的可擴充套件性)。

mybatis開發dao的方法

mybatis開發dao的方法 1 sqlsession的使用範圍 1 1 sqlsessionfactorybuilder 只當成乙個工具類即可,不需要使用單例模式管理 通過sqlsessionfactorybuilder建立sqlsessionfactory,1 2 sqlsessionfact...

使用mybatis開發dao方法

使用mybatis開發dao的時候,主要涉及到sqlsessionfactorybuilder sqlsessionfactory sqlsession 這三個類 現在將這三個類的使用方法簡單的說下 使用mybatis開發dao方法 sqlsessionfactorybuilder 把它當成乙個工具...

mybatis實現dao層開發

mybatis支援自己寫dao實現類 介面中的方法如下 配置檔案中如下 dao實現類如下 注意這裡selectlist傳入的是我們之前自定義分析中的key namespace id 這樣也可以得到我們的查詢結果,但是這裡我們需要注意,這個和我們之前的查詢方法是兩個思路,之前的方式使用的是 物件的方法...