亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

java語言

javahibernate是什么

時(shí)間:2024-07-22 15:34:39 java語言 我要投稿
  • 相關(guān)推薦

javahibernate是什么

  商業(yè)項(xiàng)目上,企業(yè)注重產(chǎn)品的性能,如果JDBC的代碼寫的非常優(yōu)化,那么JDBC架構(gòu)運(yùn)行效率最高,但是實(shí)際項(xiàng)目中,這一點(diǎn)幾乎做不到,這需要程序員非常精通JDBC,運(yùn)用Batch語句。以下是小編為大家搜索整理的javahibernate是什么,希望能給大家?guī)韼椭,更多精彩?nèi)容請(qǐng)及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!

  Hibernate執(zhí)行流程

  1.通過Configuration().configure();讀取并解析hibernate.cfg.xml配置文件

  2.由hibernate.cfg.xml中的

  3.通過config.buildSessionFactory();//創(chuàng)建SessionFactory

  4.sessionFactory.openSession();//打開Sesssion

  5.session.beginTransaction();//創(chuàng)建事務(wù)Transation

  6.persistentoperate持久化操作

  7.session.getTransaction().commit();//提交事務(wù)

  8.關(guān)閉Session

  9.關(guān)閉SesstionFactory

  Hibernate核心接口

  Hibernate的核心接口一共有5個(gè),分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個(gè)核心接口在任何開發(fā)中都會(huì)用到。通過這些接口,不僅可以對(duì)持久化對(duì)象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。下面對(duì)這五的核心接口分別加以介紹。

  1.Session接口:Session接口負(fù)責(zé)執(zhí)行被持久化對(duì)象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對(duì)象是非線程安全的。同時(shí),Hibernate的session不同于JSP應(yīng)用中的HttpSession。這里當(dāng)使用session這個(gè)術(shù)語時(shí),其實(shí)指的是Hibernate中session,而以后會(huì)將HttpSesion對(duì)象稱為用戶session。

  2.SessionFactory接口:SessionFactroy接口負(fù)責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲(chǔ)源的代理,并負(fù)責(zé)創(chuàng)建Session對(duì)象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級(jí)的,因?yàn)橐话闱闆r下,一個(gè)項(xiàng)目通常只需要一個(gè)SessionFactory就夠,當(dāng)需要操作多個(gè)數(shù)據(jù)庫時(shí),可以為每個(gè)數(shù)據(jù)庫指定一個(gè)SessionFactory。

  3.Configuration接口:Configuration接口負(fù)責(zé)配置并啟動(dòng)Hibernate,創(chuàng)建SessionFactory對(duì)象。在Hibernate的啟動(dòng)的過程中,Configuration類的實(shí)例首先定位映射文檔位置、讀取配置,然后創(chuàng)建SessionFactory對(duì)象。

  4.Transaction接口:Transaction接口負(fù)責(zé)事務(wù)相關(guān)的操作。它是可選的,開發(fā)人員也可以設(shè)計(jì)編寫自己的底層事務(wù)處理代碼。

  5.Query和Criteria接口:Query和Criteria接口負(fù)責(zé)執(zhí)行各種數(shù)據(jù)庫查詢。它可以使用HQL語言或SQL語句兩種表達(dá)方式。

  為什么使用Hibernate?

  Hibernate進(jìn)一步封裝了JDBC,對(duì)數(shù)據(jù)的操作也更加面向?qū)ο蠡。使程序員不用在繁瑣的編寫Dao層,將更多的精力放在業(yè)務(wù)邏輯層上,調(diào)整PreapredStatement的Batch Size和Fetch Size等參數(shù),以及在必要的情況下采用結(jié)果集cache等等。而一般情況下程序員是做不到這一點(diǎn)的。因此Hibernate架構(gòu)表現(xiàn)出最快的運(yùn)行效率。關(guān)于Hibernate的好處還有很多,提供一個(gè)鏈接使用hibernate的11大優(yōu)勢(shì)

【javahibernate是什么】相關(guān)文章:

hifi是什么06-27

ADSL是什么09-04

Java是什么07-03

PoE是什么10-13

OpenOffice是什么12-05

自考是什么05-21

無線AP是什么09-09

教學(xué)設(shè)計(jì)是什么06-22

umts是什么網(wǎng)絡(luò)10-06

股權(quán)激勵(lì)是什么09-11