1. 程式人生 > >Mybatis開發流程簡介

Mybatis開發流程簡介

mybatis是什麼?

mybatis是一個持久層框架,mybatis是一個不完全的ORM框架。sql語句需要程式設計師己去編寫,但是mybatis也有對映(輸入引數對映、輸出結果對映)。mybatis入門門檻不高,學習成本低,讓程式設計師把精力放在sql語句上,對sql語句優化非常方便,適用與需求變化較多專案,比如網際網路專案。

mybatis框架執行過程:

1、配置mybatis的配置檔案,SqlMapConfig.xml(名稱不固定)

2、通過配置檔案,載入mybatis執行環境,建立SqlSessionFactory會話工廠

SqlSessionFactory在實際使用時按單例方式。

3、通過SqlSessionFactory

建立SqlSession

SqlSession是一個面向使用者介面(提供操作資料庫方法),實現物件是執行緒不安全的,建議sqlSession應用場合在方法體內。

4、呼叫sqlSession的方法去操作資料。

如果需要提交事務,需要執行SqlSessioncommit()方法。

5、釋放資源,關閉SqlSession

mybatis開發dao的方法:

1、原始dao 的方法

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

需要在dao實現類中注入一個SqlSessionFactory工廠。

2、mapper代理開發方法(建議使用)

只需要程式設計師編寫mapper介面(就是dao介面)

程式設計師在編寫mapper.xml(對映檔案

)mapper.java需要遵循一個開發規範:

1mapper.xmlnamespace就是mapper.java的類全路徑。

2mapper.xmlstatementidmapper.java中方法名一致。

3mapper.xmlstatementparameterType指定輸入引數的型別和mapper.java的方法輸入 引數型別一致。

4mapper.xmlstatementresultType指定輸出結果的型別和mapper.java的方法返回值型別一致。

SqlMapConfig.xml配置檔案:可以配置properties屬性、別名、mapper載入。。。

輸入對映:

parameterType:指定輸入引數型別可以簡單型別、pojohashmap。。

對於綜合查詢,建議parameterType使用包裝的pojo,有利於系統 擴充套件。

輸出對映:

resultType

查詢到的列名和resultType指定的pojo的屬性名一致,才能對映成功。

reusltMap

可以通過resultMap完成一些高階對映。

如果查詢到的列名和對映的pojo的屬性名不一致時,通過resultMap設定列名和屬性名之間的對應關係(對映關係)。可以完成對映。

高階對映:

將關聯查詢的列對映到一個pojo屬性中。(一對一)

將關聯查詢的列對映到一個List<pojo>中。(一對多)