orm: 對象關係映射,把原來對資料庫表和欄位的操作改變為對類和對象的操作,是對象和關係的映射,主要實現程式對象到關係資料庫數據的映射。通俗理解就是不需要直接對資料庫操作,例如寫sql語句,建表等。 hibernate屬於orm框架,因為hibernate對jdbc重度封裝,不用寫sql語句,在用h ...
orm:
對象關係映射,把原來對資料庫表和欄位的操作改變為對類和對象的操作,是對象和關係的映射,主要實現程式對象到關係資料庫數據的映射。通俗理解就是不需要直接對資料庫操作,例如寫sql語句,建表等。
hibernate屬於orm框架,因為hibernate對jdbc重度封裝,不用寫sql語句,在用hibernate操作資料庫時,甚至連表都不用建。它是全自動的,所以他說屬於orm框架。
只要在hibernate.cfg.xml裡加上如下代碼
Xml代碼<property name="hbm2ddl.auto">update</property>
update:表示自動根據model對象來更新表結構,啟動hibernate時會自動檢查資料庫,
如果缺少表,則自動建表;如果表裡缺少列,則自動添加列。
還有其他的參數:
create:啟動hibernate時,自動刪除原來的表,新建所有的表,所以每次啟動後的以前數據都會丟失。
create-drop:啟動hibernate時,自動創建表,程式關閉時,自動把相應的表都刪除。
所以程式結束時,表和數據也不會再存在。
PS:資料庫要預先建立好,因為hibernate只會建表,不會建庫
mybatis是orm框架,但是也不是。確切的說mybatis是半orm框架,因為orm是中度封裝jdbc,封裝了連接資料庫的操作,事物,返回結果ResultSet處理成List對象等,但是他需要自己建表,自己編寫sql語句,所以它是半自動化框架,半orm框架。