MyBatis入門【七】入門小結

mybatis執行過程

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

2、通過配置文件,加載mybatis運行環境,創建SqlSessionFactory會話工廠

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

3、通過SessionFactory創建SqlSession

SqlSession是一個面向用戶接口(提供操作數據庫方法),實現對象是線程不安全的,建議SqlSession應用場合在方法體內

4、調用SqlSession的方法去操作數據

如果需要提交事務,需要執行SqlSession的commit()方法

5、釋放資源,關閉SqlSession

mybatis開發dao的方法

1、原始dao的方法

  • 需要程序員編寫dao接口和實現類
  • 需要在dao實現類中注入一個SqlSessionFactory

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

只需要程序員編寫mapper接口(就是dao接口)
程序員在編寫mapper.xml(映射文件)和mapper.java需要遵循一些開發規範:

  • 1)在mapper.xml中namespace就是mapper.java得類全路徑
  • 2)mapper.xml中statement的id和mapper.java中的方法名一致
  • 3)mapper.xml中statement的parameterType指定輸入參數的類型和mapper.java的方法輸入參數類型一致
  • 4)mapper.xml中statement的resultType指定輸出結果的類型和mapper.java的返回值類型一致

輸入映射

parameterType:

指定輸入類型可以是簡單類型、pojo、hashmap

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

輸出映射

resultType:

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

resultMap:

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

高級映射:

  • 將關聯查詢的列映射到一個pojo屬性中(一對一)
  • 將關聯查詢的列映射到一個List中(一對多)

動態SQL

  • if判斷(掌握)
  • where
  • foreach
  • sql片段(掌握)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章