MyBatis 是支持定制化 SQL、存儲過程以及高級映射的優秀的持久層框架,
MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集。MyBatis 可以對配置和原生Map使用簡單的 XML 或注解(實體和數據庫的映射可以在XML中間中,也可以使用注解),將接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java對象)映射成數據庫中的記錄。
一、MyBatis框架的優點:
1. 與JDBC相比,減少了50%以上的代碼量。
2. MyBatis是最簡單的持久化框架,小巧並且簡單易學。
3. MyBatis靈活,不會對應用程序或者數據庫的現有設計強加任何影響,SQL寫在XML里,從程序代碼中徹底分離,降低耦合度,便於統一管理和優化,可重用。
4. 提供XML標簽,支持編寫動態SQL語句(XML中使用if, else)。
5. 提供映射標簽,支持對象與數據庫的ORM字段關系映射(在XML中配置映射關系,也可以使用注解)。
二、MyBatis框架的缺點:
1. SQL語句的編寫工作量較大,尤其是字段多、關聯表多時,更是如此,對開發人員編寫SQL語句的功底有一定要求。
2. SQL語句依賴於數據庫,導致數據庫移植性差,不能隨意更換數據庫。
三、MyBatis框架適用場合:
MyBatis專注於SQL本身,是一個足夠靈活的DAO層解決方案。
對性能的要求很高,或者需求變化較多的項目,如互聯網項目,MyBatis將是不錯的選擇。