MyBatis工作流程
1:加載配置文件(mybatis-config.xml 、 *...Mapper.xml)並初始化,
將SQL的配置信息加載成為一個個MappedStatement對象(包括了傳
入參數映射配置、執行的SQL語句、結果映射配置),存儲在內存中。
2:接收調用請求(調用Mybatis提供的API即增刪改查的方法)並傳入參數:
即SQL的ID和傳入參數對象
3:處理操作請求,過程:
(1)根據SQL的ID查找對應的MappedStatement對象。
(2)根據傳入參數對象解析MappedStatement對象,得到最終要執行的SQL和執行傳入參數。
(3)獲取數據庫連接,根據得到的最終SQL語句和執行傳入參數,到數據庫執行,並得到執行結果。
(4)根據MappedStatement對象中的結果映射配置對得到的執行結果進行轉換處理,並得到最終的處理結果。
(5)釋放連接資源。
4:返回處理結果將最終的處理結果返回。
MyBatis優點
1:半自動化的ORM實現(實體類和SQL語句之間建立映射關系)
2:SQL代碼從程序代碼中徹底分離,可重用
3:與JDBC相比,減少了50%以上的代碼量
4:小巧靈活、簡單易學,是最簡單的持久化框架
5:提供XML標簽,支持編寫動態SQL
6:提供映射標簽,支持對象與數據庫的ORM字段映射
MyBatis缺點
1:SQL語句編寫工作量大,對開發人員有一定sql技術要求
2:數據庫移植性差(不同數據庫,sql語句語法有所不同)