付費(fèi)下載
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1hibernate1hibernate概(0)javaee三層webservicedao(1)orm思-實(shí)體類和數(shù)據(jù)庫(kù)表進(jìn)行映射關(guān)hibernate入門案hibernate的配置文配置文映射配置文4hibernateSessionFactory對(duì)Session對(duì)單線程調(diào)用session的方法實(shí)現(xiàn)crud操5事務(wù)概什么是事事務(wù)特解決讀問題設(shè)置事級(jí)-mysql默 級(jí)別repeatable實(shí)體實(shí)體類編寫規(guī)則(重點(diǎn)hibernate主鍵生成native(重點(diǎn)uuid(重點(diǎn)3實(shí)體類操crudcrud操作(重點(diǎn)4hibernate特5hibernate6hibernateapi(重點(diǎn)實(shí)體類(持久化類)實(shí)體實(shí)體類里面屬性私有私有屬性使用公開的setget方法操作要求實(shí)體類有屬性作為唯一值(一般使用id值實(shí)體類屬性建議不使用基本數(shù)據(jù)類型,使用基本數(shù)據(jù)類型對(duì)應(yīng)的包裝八個(gè)基本數(shù)據(jù)類型對(duì)應(yīng)的包裝int–其他的都是首字母如double(2)為什么使用包裝比如表示學(xué)生分?jǐn)?shù),intscore5;表示學(xué)生得了0intscore0;表示學(xué)生沒有參加考試?intscore=null使用包裝-表示學(xué)生分?jǐn)?shù)Integerscore=5示學(xué)生沒有參加考試:Integerscore=Hibernate00自然主鍵主(1)自然主鍵:表主鍵字段和業(yè)務(wù)相關(guān)-人 號(hào)碼唯 主鍵:表主鍵字段和業(yè)務(wù)不相1hibernate要求實(shí)體類里面有一個(gè)屬性作為唯一值應(yīng)表主鍵可以不2hibernate主鍵生成策略有很多3class屬性里面有很多(1)native:根據(jù)使用的數(shù)據(jù)庫(kù)幫選擇哪個(gè)-如果使用mysql數(shù)據(jù)庫(kù),生成主鍵自動(dòng)增長(zhǎng)類型,這個(gè)時(shí)候字段int類4演示生成策略值(1)使用uuid生成策略,實(shí)體類id屬性類型須符串類(2)配置部分寫出uuidcrudsessionsaveidsessiongetsessionupdatesessiondelete11調(diào)用session里面的save方法實(shí)id11調(diào)用session里面的get方法實(shí)//1//1根據(jù)idpublicvoidtestGet()SessionFactorysessionFactory=null;Sessionsession=null;Transactiontx=null;try{sessionFactory=session=tx=:Useruser=session.get(User.class,}catch(Exceptione)}finally}}11首先查詢,修(1)根據(jù)id查詢,返回對(duì)//2publicvoidtestUpdate(){SessionFactorysessionFactory=null;Sessionsession=null;Transactiontx=null;try{sessionFactory=session=tx=//1//1根據(jù)idUseruser=session.get(User.class,//2//3}catch(Exceptione)}finally}}((2)11調(diào)用session里面delete方法實(shí)//3publicvoidtestDelete(){SessionFactorysessionFactory=null;Sessionsession=null;Transactiontx=null;try{sessionFactory=session=tx=//1根據(jù)idUseruser=session.get(User.class,}catch(Exceptione)}finally}}實(shí)體類對(duì)象狀態(tài)(概念記住11實(shí)體類狀態(tài)有區(qū)別方式:判斷實(shí)體類對(duì)象里面是否有id值,是否與session(1)瞬時(shí)態(tài):對(duì)象里面沒有id值,對(duì)象與session沒有關(guān)持久態(tài):對(duì)象里面有id值,對(duì)象與session關(guān)托管態(tài):對(duì)象有id值,對(duì)象與session沒有2演示操作實(shí)體類對(duì)象的方根據(jù)實(shí)體類對(duì)象不同的狀態(tài)實(shí)現(xiàn)不同的saveOrUpdate方法:實(shí)現(xiàn)添加、實(shí)現(xiàn)修如果實(shí)體類對(duì)象是瞬時(shí)態(tài),調(diào)用實(shí)現(xiàn)添加操如果實(shí)體類對(duì)象是持久態(tài),調(diào)用實(shí)現(xiàn)修改操33實(shí)體類狀態(tài)轉(zhuǎn)換(看懂持久態(tài)自動(dòng)更新數(shù)據(jù)庫(kù)(現(xiàn)象Hibernate把數(shù)據(jù)存到內(nèi)存里面,不需要使用流方式,可以直 內(nèi)存中數(shù)把數(shù)據(jù)放到內(nèi)存中,提 效Hibernatehibernatehibernate框架中提供很多優(yōu)化方式,hibernate的緩存就是一個(gè)優(yōu)化方hibernate緩存特點(diǎn)hibernate的一級(jí)hibernate的一級(jí)緩存默認(rèn)打開關(guān)閉范hibernate的一級(jí)緩存中 數(shù)據(jù)必須持久態(tài)數(shù)hibernate的二級(jí)目前已經(jīng)不使用了,替代技術(shù)二級(jí)緩存默認(rèn)不是打開的,需要配使用二級(jí)緩存引入其他的組二級(jí)緩存使用范圍,是sessionFactory范11驗(yàn)證方首先根據(jù)uid=1查詢,返回其次再根據(jù)uid=1查詢,返回對(duì)get方法之后,發(fā)送sql第二個(gè)執(zhí)行g(shù)et方法之后,沒有發(fā)送sqlHibernateHibernate11持久態(tài)自動(dòng)更新數(shù)據(jù)(1)不需要調(diào)用update方法實(shí)現(xiàn)修2執(zhí)行過程(了解)一級(jí)緩存中緩存數(shù)據(jù)是持久態(tài)數(shù)一級(jí)緩存使session范圍的。Session創(chuàng)建時(shí)候,分配空間作為調(diào)用get方法返回user對(duì)象之user對(duì)象值放到一級(jí)緩存中,同快照區(qū)內(nèi)容畫圖說明調(diào)用get方法時(shí)候返回持久態(tài)對(duì)象,把返回持久態(tài)對(duì)象放到一級(jí)緩存,改快照區(qū)內(nèi)容提交事務(wù),提交時(shí)候,做數(shù)據(jù)比比較一級(jí)緩存內(nèi)容區(qū)內(nèi)容是否相同,如果內(nèi)容不相同,把一級(jí)Hibernate什么什么是事事務(wù)特3臟不可重復(fù)虛性產(chǎn)生問4設(shè)置事級(jí)(1)mysql默級(jí)別repeatableHibernate11session類似于jdbcconnection,之前web階段學(xué)過(1)保證session肯定不能被公用,把session與本地線程綁2幫實(shí)現(xiàn)與本地線程綁定3獲取與本地線程(1)在 配置文件中配(2)調(diào)用sessionFactory里面的方法得4獲取與本地線程綁定session時(shí)候,關(guān)閉session報(bào)錯(cuò),不需要手動(dòng)關(guān)閉5hibernate配置事級(jí)事務(wù)操作添加到事務(wù)操作添加到serviceHibernateapiQuery11使用query對(duì)象,不需要寫sql語(yǔ)句,但是寫hql語(yǔ)和普通sql語(yǔ)句很相似hqlsql語(yǔ)句區(qū)別普通sql語(yǔ)句操作數(shù)據(jù)庫(kù)表和表里面字hql語(yǔ)句操作是實(shí)體類和實(shí)體類里面屬2查詢所有hql語(yǔ)句((1)from3QueryQuery調(diào)用queryQueryquery=session.createQuery("fromList<User>list=for(Useruser:list)}Criteria方法實(shí)現(xiàn)實(shí)現(xiàn)過創(chuàng)建criteria對(duì)調(diào)用對(duì)象里面的方法得到結(jié)createCriteria里面寫實(shí)體類Criteriacriteria=List<User>list=for(Useruser:list)}SQLQuery11使用hibernate時(shí)候,調(diào)用底層sql實(shí)使用場(chǎng)景如果項(xiàng)目中有很多復(fù)雜查詢操作,使用hibernate框架很難實(shí)針對(duì)情況,在hibernate調(diào)用普通sql語(yǔ)句實(shí)現(xiàn)復(fù)雜查詢操2實(shí)現(xiàn)過創(chuàng)建對(duì)調(diào)用對(duì)象的方法得到結(jié)返回list集合每部分是數(shù)返回返回listList
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 升壓站綠色施工方案及記錄
- 職工食堂年終工作總結(jié)
- 呼吸內(nèi)科中重癥患者的護(hù)理總結(jié)
- 2025年藥房年度工作總結(jié)個(gè)人總結(jié)
- 升壓站倒送電試驗(yàn)方案
- 建設(shè)工程施工合同糾紛要素式起訴狀模板法律依據(jù)清晰標(biāo)注
- 2026 年官方化離婚協(xié)議書權(quán)威版
- 2026中學(xué)關(guān)于課外讀物12條負(fù)面清單清方案(終稿)
- 創(chuàng)文明校園的自查報(bào)告
- 攝影測(cè)量學(xué)地質(zhì)大學(xué)考試題庫(kù)及答案
- 交通運(yùn)輸安全檢查與處理規(guī)范(標(biāo)準(zhǔn)版)
- (2026春新版)人教版二年級(jí)數(shù)學(xué)下冊(cè)全冊(cè)教學(xué)設(shè)計(jì)
- 《軍用關(guān)鍵軟硬件自主可控產(chǎn)品名錄》(2025年v1版)
- GB 39669-2020牙刷及口腔器具安全通用技術(shù)要求
- 精益生產(chǎn)試題與答案
- 醫(yī)院關(guān)于主治醫(yī)師晉升前到急診科、重癥醫(yī)學(xué)科輪轉(zhuǎn)鍛煉工作的管理規(guī)定
- L1會(huì)計(jì)研究方法論簡(jiǎn)介課件
- 防治水培訓(xùn)課件
- 按摩穴位保健養(yǎng)生課件
- 食材配送投標(biāo)服務(wù)方案
- 大學(xué)生心理健康教育全套課件
評(píng)論
0/150
提交評(píng)論