MyBatis簡介
MyBatis 是一款優(yōu)秀的持久層框架,它支持定制化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設(shè)置參數(shù)以及獲取結(jié)果集。MyBatis 可以使用簡單的 XML 或注解來配置和映射原生類型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 對象)為數(shù)據(jù)庫中的記錄。目前Mybatis最新版本為3.5.3版本,可以在Github上查看最新的源代碼。
MyBatis與Hibernate
兩者都是持久層框架,應(yīng)用廣泛。與Hiberbate相比,MyBatis在映射上只是半自動,但MyBatis更靈活、性能更好,在大型復雜或比較關(guān)注性能的應(yīng)用場景中,MyBatis更受歡迎。以下是兩者各項的詳細對比
| 對比項 | MyBatis | Hibernate |
|---|---|---|
| 市占率 | 高 | 高 |
| 行業(yè)應(yīng)用 | 互聯(lián)網(wǎng)、電商 | 傳統(tǒng)的管理系統(tǒng)(如ERP、CRM、OA)等 |
| 性能 | 高 | 低 |
| SQL靈活性 | 高 | 低 |
| 學習門檻 | 低 | 高 |
| SQL配置文件 | 全局配置文件、數(shù)據(jù)表映射文件 | 全局映射文件、數(shù)據(jù)表映射文件 |
| ORM | 半自動化 | 全自動化 |
| 數(shù)據(jù)庫無關(guān)性 | 低 | 高 |