1. 程式人生 > >mybatis簡介(一)

mybatis簡介(一)

實現 配置 簡單的 缺點 還需 pojo 有效 數據庫數據 更新

JDBC、Hibernate、Mybatis區別

1.JDBC

java程序都是通過JDBC連接數據庫的,從而實現通過SQL對數據庫編程。JDBC實際就是一系列規範,但是它只定義了接口規範,而具體的實現交由各個數據庫廠商去實現。因為每個數據庫都有其特性,這些是java規範沒有辦法確定的,所以JDBC就是一種典型的橋接模式。

缺點:

(1)工作量大,需要先連接,然後再處理事物與數據類型,還需要操作Connection對象,Statement對象與ResultSet對象,並關閉他們。

(2)要對JDBC編程可能產生的異常進行捕獲並正確關閉資源。

因為他的復雜,ORM模型出現了。

2.ORM模型(對象關系映射)

所有的ORM模式都是對JDBC的封裝,只是封裝的強度不一樣。

主要解決數據庫數據和POJO對象(j簡單的JAVA對象)的相互映射。

3.Hibernate

hibernate通過xml映射文件(註解)直接操作數據庫,全表映射

優勢:配置了映射文件與數據庫連接文件後,就可以通過session操作。

提供了級聯、映射、緩存。

缺點:

(1)全表映射的不便,更新時需要發送所有的字段

(2)無法根據不同的條件組裝不同的SQL

(3)對多表關聯和復雜SQL查詢支持較差

(4)不能有效的支持存儲過程

(5)HQL性能較差

4.mybatis

(1)半自動映射,需要匹配SQL、POJO與映射關系,hibernate不需要提供SQL

(2)可以配置動態SQL、優化SQL

(3)自動映射,SQL列名與POJO的屬性名一致

5.怎樣選取

hibernate:場景不太復雜

mybatis:需要靈活的。可優化、易維護。

mybatis簡介(一)