資源描述:
《Hibernate開(kāi)發(fā)入門(mén)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、Hibernate開(kāi)發(fā)入門(mén)趙慶軒北京傳智播客教育www.itcast.cn什么是HibernateHibernate是輕量級(jí)JavaEE應(yīng)用的持久層解決方案,是一個(gè)關(guān)系數(shù)據(jù)庫(kù)ORM(ObjectRelationalMapping)框架ORM就是通過(guò)將Java對(duì)象映射到數(shù)據(jù)庫(kù)表,通過(guò)操作Java對(duì)象,就可以完成對(duì)數(shù)據(jù)表的操作Hibernate提供了對(duì)關(guān)系型數(shù)據(jù)庫(kù)增刪改查操作流行的數(shù)據(jù)庫(kù)框架JPAJavaPersistenceAPI.JPA通過(guò)JDK5.0注解或XML描述對(duì)象-關(guān)系表的映射關(guān)系(只有接口規(guī)范)Hibernate最流行ORM框
2、架,通過(guò)對(duì)新-關(guān)系映射配置,可以完全脫離底層SQLMyBatis本是apache的一個(gè)開(kāi)源項(xiàng)目iBatis,支持普通SQL查詢,存儲(chǔ)過(guò)程和高級(jí)映射的優(yōu)秀持久層框架ApacheDBUtils、SpringJDBCTemplate北京傳智播客教育www.itcast.cn為什么要使用HibernateHibernate對(duì)JDBC訪問(wèn)數(shù)據(jù)庫(kù)的代碼做了封裝,大大簡(jiǎn)化了數(shù)據(jù)訪問(wèn)層繁瑣的重復(fù)性代碼Hibernate是一個(gè)基于jdbc的主流持久化框架,是一個(gè)優(yōu)秀的orm實(shí)現(xiàn),它很大程度的簡(jiǎn)化了dao層編碼工作Hibernate使用java的反射機(jī)制,
3、而不是字節(jié)碼增強(qiáng)程序類實(shí)現(xiàn)透明性Hibernate的性能非常好,因?yàn)樗且粋€(gè)輕量級(jí)框架。映射的靈活性很出色。它支持很多關(guān)系型數(shù)據(jù)庫(kù),從一對(duì)一到多對(duì)多的各種復(fù)雜關(guān)系北京傳智播客教育www.itcast.cnHibernate快速入門(mén)1、下載hibernate3.x的開(kāi)發(fā)包(3.6.10)http://sourceforge.net/projects/hibernate/files/hibernate3/Hibernate并沒(méi)有提供日志的實(shí)現(xiàn)可以下載slf4j和log4j開(kāi)發(fā)包,整合Hibernate的日志系統(tǒng)到log4j北京傳智播客教育w
4、ww.itcast.cnHibernate入門(mén)核心包hibernate使用的一個(gè)日志系統(tǒng)一個(gè)語(yǔ)言轉(zhuǎn)換工具,Hibernate利用它實(shí)現(xiàn)HQL到SQL的轉(zhuǎn)換collectionsApache的工具集,用來(lái)增強(qiáng)Java對(duì)集合的處理能力dom4jXML解析器代碼生成工具,Hibernate用它在運(yùn)行時(shí)擴(kuò)展Java類標(biāo)準(zhǔn)的JAVA事務(wù)(跨數(shù)據(jù)庫(kù))處理接口JPA接口開(kāi)發(fā)包北京傳智播客教育www.itcast.cnHibernate快速入門(mén)2、創(chuàng)建webproject搭建環(huán)境Hibernate是一個(gè)ORM框架,通過(guò)操作Java對(duì)象來(lái)操作數(shù)據(jù)表記錄如
5、何將Customer對(duì)象與customer數(shù)據(jù)表關(guān)聯(lián)??對(duì)象-數(shù)據(jù)表映射文件北京傳智播客教育www.itcast.cnHibernate快速入門(mén)3、在Customer.java所在目錄創(chuàng)建映射文件Customer.hbm.xml(類名.hbm.xml)配置規(guī)則參見(jiàn)hibernate3.jarorg/hibernate/hibernate-mapping-3.0.dtd北京傳智播客教育www.itcast.cnHibernate快速入門(mén)java、hibernate、sql類型對(duì)應(yīng)關(guān)系Customer類屬性Java類型Hibernate類型
6、Cutomers字段名Sql類型Namejava.lang.StringstringNAMEVarchar(12)ageintintageINTSexcharcharacterSEXCHAR(1)MarriedbooleanbooleanmarriedbitDesjava.lang.StringtextdesCLOBPicbyte[]binarypicBLOBBirthdayjava.sql.DatedateBIRTHDAYDATEregisteredTimejava.sql.TimeStamptimestampREGISTERED_T
7、IMETIMESTAMP北京傳智播客教育www.itcast.cnHibernate快速入門(mén)4、配置JDBC連接數(shù)據(jù)庫(kù)基本屬性在src下創(chuàng)建hibernate.cfg.xml規(guī)則參見(jiàn)hibernate3.jar/org/hibernate/hibernate-configuration-3.0.dtd北京傳智播客教育www.itcast.cnHibernate快速入門(mén)5、編程操作hibernate框架//實(shí)例化配置對(duì)象,加載配置文件hibernate.cfg.xmlConfigurationconfiguration=newConfig
8、uration().configure();//創(chuàng)建會(huì)話連接工廠SessionFactorysessionFactory=configuration.buildSessionFactory();//創(chuàng)建會(huì)話