4 mybatis開發dao兩種方法

2021-08-17 20:08:44 字數 1929 閱讀 3436

通過sqlsessionfactorybuilder建立會話工廠sqlsessionfactory

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

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

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

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

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

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

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

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

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

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

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

2、呼叫sqlsession方法時將statement的id硬編碼了

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

開發規範:

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

1.3.6.1             **物件內部呼叫selectone或selectlist

系統 框架中,dao層的**是被業務層公用的。

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

mybatis關聯查詢有兩種

關聯查詢有兩種 1,元素標籤中傳入關聯條件值,此種方法一般和sql語句的子查詢配套 即關聯實體的列是用sql結果集表示 一對一,多對一都是如此用 warning mbggenerated select kf.from tb cus firm chg kf where kf.customer key ...

mybatis關聯查詢有兩種

關聯查詢有兩種 1,元素標籤中傳入關聯條件值,此種方法一般和sql語句的子查詢配套 即關聯實體的列是用sql結果集表示 一對一,多對一都是如此用 warning mbggenerated select kf.from tb cus firm chg kf where kf.customer key ...

Mybatis 分頁的兩種實現方法

mysql的分頁語句select from user limit startindex 起始位置 預設是0開始 pagesize 頁面大小 如何計算出當前頁面 currentpage currentpage 1 pagesize使用limit實現分頁 編寫dao介面 查詢全部使用者實現分頁 list...