mybatis學習筆記之——mybatis介紹
阿新 • • 發佈:2018-11-09
原是Apache的一個開源專案iBatis,2010年6月這個專案由 Apache Software Foundation遷移到了Google Code,隨著開發團隊轉投Google Code旗下,iBatis3.X正式更名為MyBatis,程式碼於2013年11月遷移到Github。網址為 https://github.com/mybatis/mybatis-3/ 。
iBatis一詞來源於“Internet”與“abatis”的組合,是一個基於Java的持久層框架。iBatis提供的持久層框架包括SQL Maps和Data Access Objects(DAO)。
為什麼要使用MyBatis?
- MyBatis是一個半自動化的持久化層框架。
- JDBC
SQL夾在Java程式碼塊裡,耦合度高導致硬編碼內傷。
維護不易且實際開發需求中sql是有變化,頻繁修改的情況多見。 - Hibernate和JPA
長難複雜SQL,對於Hibernate而言處理也不容易。
內部自動生成的SQL,不容易特殊優化。
基於全對映的全自動框架,大量欄位的POJO進行部分對映時比較困難。導致資料庫效能下降。 - 對於開發人員而言,核心sql還是自己優化。
- mybatis的sql和Java編碼分開,功能邊界清晰,一個專注業務、一個專注資料。
mybatis是半自動的,輕量級框架。