引言
今天小編先來大概的簡介一下hibernate,在介紹hibernate之前呢,先要說一下ORM吧~~~~
ORM
ORM,即Object-Relational Mapping(對象關係映射),它的作用是在關係型數據庫和業務實體對象之間作一個映射,這樣,我們在具體的操作業務對象的時候,就不需要再去和複雜的SQL語句打交道,只需簡單的操作對象的屬性和方法。
ORM方法論基於三個核心原則: 簡單:以最基本的形式建模數據。 傳達性:數據庫結構被任何人都能理解的語言文檔化。 精確性:基於數據模型創建正確標準化的結構。當前ORM框架主要有四種:Hibernate(Nhibernate),iBATIS,mybatis,EclipseLink。
Hibernate
Hibernate是一個開放源代碼的對象關係映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用。
Hibernate的主要特點
1、 開源和免費的License,方便需要時研究源碼,改寫源代碼,進行功能定製。
2、 輕量級封裝,避免引入過多複雜的問題,調試容易,減輕程序員負擔。
3、 有可擴展性,API開放,功能不夠用時,自己可以編碼擴展。
Hibernate的工作原理
分析
1、首先通過Configuration().configur()讀取hibernate.cfg.xml配置文件中的數據庫連接信息
2、通過hibernate.cfg.xml讀取並解析映射信息
3、建立SessionFactory,初始化Hibernate。
4、取得Session對象,進行CRUD操作
5、開啓事務,進行操作
6、如果有異常,事務進行回滾,沒有,則提交
7、 關閉Session
注意
1、Hibernate框架需要2種配置文件,分別是:hibernate.cfg.xml(存放數據庫連接信息)與xxx.hbm.xml
2、xxx.hbm.xml是配置在hibernate.cfg.xml中,該文件確定了持久類與數據表,數據列之間的對應關係
3、hibernate不再是直接調用JDBC訪問,而是Session會話訪問。在hibernate框架中,只有處於Seesion管理下的POJO對象纔有持久化操作的能力
Hibernate的優缺點
優點
1、程序更加的面向對象,不用手動寫sql語句,提高了生產率
2、方便移植,無侵入性
缺點
1、效率比JDBC略差
2、對於複雜的sql語句,處理的還有些欠缺
3、不適合批量操作
總結