mybatis_基础篇
生活随笔
收集整理的這篇文章主要介紹了
mybatis_基础篇
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
MyBatis 本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google code,并且改名為MyBatis 。2013年11月遷移到Github。????MyBatis是一個優秀的持久層框架,它對jdbc的操作數據庫的過程進行封裝,使開發者只需要關注 SQL 本身,而不需要花費精力去處理例如注冊驅動、創建connection、創建statement、手動設置參數、結果集檢索等jdbc繁雜的過程代碼。
Mybatis通過xml或注解的方式將要執行的各種statement(statement、preparedStatemnt、CallableStatement)配置起來,并通過java對象和statement中的sql進行映射生成最終執行的sql語句,最后由mybatis框架執行sql并將結果映射成java對象并返回。
?
二、mybatis和hibernate的區別:
hibernate:它是一個ORM框架,自動化程度高,不用寫sql語句,學習成本也高,編寫代碼的效率也高。 應用場景: 外包公司用的較多, 還有做傳統企業項目(oa, erp, crm)。 mybatis:它是一個不完全的orm框架, 它是jdbc的輕量級封裝.必須編寫sql語句, 學習成本低, 比較簡單。 應用場景: 互聯網公司(互聯網金融, 電商, 互聯網旅游等等)。?
三、mybatis架構:
組件介紹
- mybatis配置:SqlMapConfig.xml,此文件作為mybatis的全局配置文件,配置了mybatis的運行環境等信息。mapper.xml文件即sql映射文件,文件中配置了操作數據庫的sql語句。此文件需要在SqlMapConfig.xml中加載。
- ? 通過mybatis環境等配置信息構造SqlSessionFactory即會話工廠
- 由會話工廠創建sqlSession即會話,操作數據庫需要通過sqlSession進行
- mybatis底層自定義了Executor執行器接口操作數據庫,Executor接口有兩個實現,一個是基本執行器、一個是緩存執行器。
- Mapped Statement也是mybatis一個底層封裝對象,它包裝了mybatis配置信息及sql映射信息等。mapper.xml文件中一個sql對應一個Mapped Statement對象,sql的id即是Mapped statement的id
- Mapped Statement對sql執行輸入參數進行定義,包括HashMap、基本類型、pojo,Executor通過Mapped Statement在執行sql前將輸入的java對象映射至sql中,輸入參數映射就是jdbc編程中對preparedStatement設置參數
- Mapped Statement對sql執行輸出結果進行定義,包括HashMap、基本類型、pojo,Executor通過Mapped Statement在執行sql后將輸出結果映射至java對象中,輸出結果映射過程相當于jdbc編程中對結果的解析處理過程
?
轉載于:https://www.cnblogs.com/wangchaoyuana/p/7545246.html
總結
以上是生活随笔為你收集整理的mybatis_基础篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3. Port scanners (端口
- 下一篇: Tools - 一些代码阅读的方法