Hibernate是一個(gè)開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,它將POJO與數(shù)據(jù)庫表建立映射關(guān)系,是一個(gè)全自動的orm框架,hibernate可以自動生成SQL語句,自動執(zhí)行,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。
首先介紹一下Hibernate框架:
1.優(yōu)秀的持久化(通俗講把內(nèi)存上的短時(shí)間運(yùn)行信息存儲在持久化硬盤上)框架。
2.作用于持久層,因?yàn)闆]什么侵入性,所以同樣適用于其他層面上的存儲
3.高度整合jdbc,簡化了很多jdbc的操作。比如查詢,比如存儲
4.二級緩存。緩存一部分所查詢的數(shù)據(jù),方便隨時(shí)調(diào)用,大大的減少了數(shù)據(jù)庫查詢。
5.ORM(Object/Rational Mapping)關(guān)系映射工具。對象關(guān)系映射把數(shù)據(jù)表的操作簡化為對于對象的操作,讓面向?qū)ο笏季S更加實(shí)際。
然后開始正式部署。部署之前首先調(diào)用jar包
除了以上的包還需要jdbc的所有包。這上面只是hibernate的包
(1)導(dǎo)入以上jar包
(2)在src下創(chuàng)建并編寫Hibernate主配置文件用于初始化hibernate需要用的信息。這個(gè)文件可以放在src下,也可以放在classes下。命名為hibernate.cfg.xml
內(nèi)容如下
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration> <session-factory> <!--驅(qū)動路徑注意數(shù)據(jù)庫類型 --> <property name="connection.driver_class"></property> <!--數(shù)據(jù)庫路徑 --> <property name="connection.url"></property> <!--數(shù)據(jù)庫用戶名 --> <property name="connection.username"></property> <!--數(shù)據(jù)庫密碼 --> <property name="connection.password"></property> <!--方言,便于hibernate對象操作轉(zhuǎn)化為合適的數(shù)據(jù)庫語句 --> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!--是否顯示sql語句,sql一般會很難看 默認(rèn)為false--> <property name="hibernate.show_sql">true</property> <!--下一個(gè)層級的映射文件,用來配置bean對象與數(shù)據(jù)表之間的關(guān)系 --> <mapping resource="com/dhh/pojo/Person.hbm.xml"/> </session-factory></hibernate-configuration>
(3)在某個(gè)目錄下創(chuàng)建映射文件,這就是上一步提到的Person.hbm.xml。一般跟bean放在同一個(gè)目錄下,接受hibernate.cfg.xml管理的對象與數(shù)據(jù)表的關(guān)系中間件
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!-- 注意包名。不寫的話下面要寫全限定名 --><hibernate-mapping package="com.dhh.pojo"> <!-- 類名對應(yīng)表名 --> <class name="Person" table="person"> <!-- 主鍵使用id標(biāo)簽。然后對應(yīng)屬性名與列名 --> <id name="id" type="int" column="id"> <!-- 自增長主鍵不同數(shù)據(jù)庫有不同類型的自增長類型,有需要可以百度到答案的 --> <generator class="identity"></generator> </id> <!-- 非主鍵映射關(guān)系,注意類型并不是單純的java類型也不是數(shù)據(jù)庫類型,而是一種中間類型,注意大小寫特別是String在這里開頭要小寫 --> <property name="name" type="string" column="name"></property> <property name="age" type="int" column="age"></property> <property name="address" type="string" column="address"></property> </class></hibernate-mapping>
上面所說的主鍵自增長類型可參考下表
中間類型參考下表
如果零基礎(chǔ)想要學(xué)習(xí)Hibernate,推薦深圳達(dá)內(nèi)教育的Hibernate視頻教程,主要講解的Hibernate版本號為5.0.1,可以說是國內(nèi)第一套基于Hibernate講解的Java視頻教程,Hibernate作為ORM的一個(gè)經(jīng)典框架,是Java開發(fā)者必備的一項(xiàng)技能之一,本套Java視頻教程內(nèi)容講解細(xì)致,基本涵蓋了工作當(dāng)中所需要的所用知識點(diǎn)。
主講老師:深圳達(dá)內(nèi)教育Java高級講師-郭老師
天津大學(xué)計(jì)算機(jī)專業(yè)碩士研究生,10年以上軟件研發(fā)及管理經(jīng)驗(yàn),先后就職于文思海輝、中軟國際、新東方教育科技集團(tuán)-國外項(xiàng)目研發(fā)部等知名軟件企業(yè),從事JavaEE方向的軟件研發(fā)工作;精通SSH、SSM技術(shù)架構(gòu)下的開發(fā);精通WebLogic、WebSphere、JBoss、Tomcat等服務(wù)器的配置與管理;熟練使用MySQL、Oracle、DB2等數(shù)據(jù)庫產(chǎn)品;熟練使用HTML、CSS、Javascript、Ajax、JQuery等前端交互技術(shù);熟練使用Axure原型設(shè)計(jì)工具;先后擔(dān)任高級Java軟件工程師、項(xiàng)目組長、項(xiàng)目經(jīng)理、技術(shù)經(jīng)理、高級產(chǎn)品經(jīng)理及IT培訓(xùn)企業(yè)高級Java講師等職務(wù);具備扎實(shí)的技術(shù)功底、豐富的軟件研發(fā)、項(xiàng)目管理經(jīng)驗(yàn)及IT教學(xué)經(jīng)驗(yàn);授課激情四溢,幽默風(fēng)趣,能夠充分調(diào)動學(xué)生學(xué)習(xí)的積極性與主動性,課堂氣氛活躍,對學(xué)員耐心負(fù)責(zé);曾參與設(shè)計(jì)恒豐銀行 “一貫P2P理財(cái)系統(tǒng)”、設(shè)計(jì)廣發(fā)銀行個(gè)人網(wǎng)上銀行系統(tǒng)、設(shè)計(jì)中國農(nóng)業(yè)銀行網(wǎng)上銀行系統(tǒng)、設(shè)計(jì)江西銀行客服服務(wù)中心網(wǎng)上服務(wù)系統(tǒng)、設(shè)計(jì)成都銀行客服服務(wù)中心網(wǎng)上服務(wù)系統(tǒng)、設(shè)計(jì)樂山銀行網(wǎng)上銀行系統(tǒng)等大型項(xiàng)目。
以上就是深圳達(dá)內(nèi)教育Java培訓(xùn)機(jī)構(gòu)的小編針對“Hibernate視頻講解,零基礎(chǔ)好學(xué)習(xí)”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。