1怜奖、優(yōu)秀的持久化框架,是對(duì)JDBC進(jìn)行了非常輕量級(jí)的封裝
Hibernate=>面向?qū)ο蟆究肌?/h4>
2翅阵、瞬間狀態(tài):保存在內(nèi)存的程序數(shù)據(jù)
持久狀態(tài):保存在磁盤(pán)上的程序數(shù)據(jù)
3歪玲、JDBC與Hibernate的比較【考】
相同點(diǎn):
(1)Java數(shù)據(jù)庫(kù)操作中間件
(2)對(duì)于數(shù)據(jù)庫(kù)進(jìn)行直接操作的對(duì)象是線程不安全
(3)對(duì)數(shù)據(jù)庫(kù)的更新操作進(jìn)行顯示的事務(wù)處理
不同點(diǎn):
(1)SQL語(yǔ)言不同。JDBC使用標(biāo)準(zhǔn)的SQL語(yǔ)言掷匠,Hibernate使用的是HQL語(yǔ)言
(2)操作的對(duì)象不同滥崩。JDBC操作的是數(shù)據(jù),將數(shù)據(jù)通過(guò)SQL語(yǔ)句送到數(shù)據(jù)庫(kù)中執(zhí)行讹语,Hibernate操作的是持久化對(duì)象钙皮,由底層持久化對(duì)象的數(shù)據(jù)更新到數(shù)據(jù)庫(kù)中。
(3)狀態(tài)不同顽决。JDBC操作的數(shù)據(jù)是“瞬時(shí)”的短条,變量的值無(wú)法與數(shù)據(jù)庫(kù)中的值保持一致,而Hibernate操作的數(shù)據(jù)是可持久的才菠,即持久化對(duì)象的數(shù)據(jù)屬性的值是可以跟數(shù)據(jù)庫(kù)中的值保持一致的茸时。
4、數(shù)據(jù)訪問(wèn)模式
(1)ORM模式——【對(duì)象-關(guān)系-映射】
在java中使用Hibernate的步驟
1赋访、添加Hibernate庫(kù)
2可都、添加配置文件——hibernate.cfg.xml[連接數(shù)據(jù)庫(kù)]
<sessionFactory >
? ? ? ? ? ? <mapping resource="? .xml">//與具體哪個(gè)表映射
</sessionFactory>
3、添加實(shí)體類和映射文件UserInfo.hbm.xml
【使用Hibernate的7個(gè)步驟】:【考】
->1蚓耽、Configuration[hibernate.cfg.xml[]
Configuration config = new Configuration()渠牲;
->2、創(chuàng)建SessionFactory[UserInfo.hbm.xml]只創(chuàng)建一個(gè)
sessionFactory = config.buildSessionFactory()步悠;
->3签杈、打開(kāi)Session[類似與JDBC中的Connection]
session = sessionFatory.openSession();常用
//session = sessionFactory.getCurrentSession()鼎兽;需要配置
->4芹壕、開(kāi)始一個(gè)事務(wù)[Transaction]
transaction = session.beginTransaction();
->5接奈、持久化操作[save/update/delete/find/load]
->6、提交事務(wù)[tx.commit()]
->7通孽、關(guān)閉Session[session.close()]