自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析Hibernate基礎(chǔ)知識(shí)

開發(fā) 后端
這里介紹Hibernate基礎(chǔ)知識(shí),Hibernate比JDBC簡(jiǎn)單使用,不需要輸入很多的連接數(shù)據(jù)庫(kù)代碼。提取數(shù)據(jù)庫(kù)數(shù)據(jù)也不用循環(huán)提取。

Hibernate有很多值得學(xué)習(xí)的地方,這里我們主要介紹Hibernate基礎(chǔ)知識(shí),包括介紹主鍵Id得到一個(gè)持久對(duì)象,Hibernate中有兩個(gè)方法等方面。

今天重新學(xué)習(xí)Hibernate,雖然一年多以前跟老師學(xué)過Hibernate基礎(chǔ)知識(shí),但現(xiàn)在重新學(xué)習(xí)還是有很多收獲的,發(fā)現(xiàn)自己的知識(shí)知道的都是些皮毛,用了很久的東西,知道怎么操作怎么用,但要說說它的所以然,搖搖頭,呵呵

Hibernate是JDBC的升級(jí)版,專用連接數(shù)據(jù)庫(kù)。
Hibernate比JDBC簡(jiǎn)單使用,不需要輸入很多的連接數(shù)據(jù)庫(kù)代碼。提取數(shù)據(jù)庫(kù)數(shù)據(jù)也不用循環(huán)提取。使用時(shí)的方法為:

1.新建一個(gè)Java普通項(xiàng)目

2.創(chuàng)建user library 加入三個(gè)地方的jar包:兩個(gè)Hibernate 一個(gè)MYSQL驅(qū)動(dòng)

3.創(chuàng)建Hibernate配置文件,Hibernate.cfg.xml

4.建立實(shí)體類user

5.在Hibernate文件中尋找eg至底部找出user.hbm.xml映射文件,copy到映射文件所在文件中

6.將映射文件user.hbm.xml部分加入到Hibernate.cfg.xml中

7.創(chuàng)建數(shù)據(jù)庫(kù),再利用Hibernate將實(shí)體映射導(dǎo)入到數(shù)據(jù)庫(kù)中

根據(jù)主鍵Id得到一個(gè)持久對(duì)象,Hibernate中有兩個(gè)方法,一個(gè)get,一個(gè)load,他們兩個(gè)參數(shù)相同,都返回一個(gè)Object

它們的區(qū)別:執(zhí)行g(shù)et方法即時(shí)生成查詢sql去查詢數(shù)據(jù)庫(kù)得到相應(yīng)的pojo,如果數(shù)據(jù)庫(kù)中沒有相應(yīng)記錄,則返回null執(zhí)行l(wèi)oad方法不會(huì)即時(shí)產(chǎn)生 sql語(yǔ)句,而是在用到返回的對(duì)象時(shí)采取查詢數(shù)據(jù)庫(kù),也就是load方法有默認(rèn)的延遲加載,在執(zhí)行l(wèi)oad方法后返回的不是一個(gè)pojo對(duì)象,是pojo 對(duì)象的一個(gè)代理(據(jù)說Hibernate是用代理的方式實(shí)現(xiàn)延遲加載的,這塊還迷糊),如果數(shù)據(jù)庫(kù)中沒有相應(yīng)記錄,load方法會(huì)拋出異常ObjectNotFoundException看了一下我們用MyEclipse Hibernate工具通過數(shù)據(jù)庫(kù)生成的DAO類,它的findById方法是用的session.get()方法,這是即時(shí)獲得pojo對(duì)象,如果是load方法,在執(zhí)行完load后如果關(guān)閉了session,那在接下來(lái)用到這個(gè)pojo對(duì)象時(shí)恐怕會(huì)報(bào)session已關(guān)閉的錯(cuò)誤。

還有就是這兩個(gè)方法的第二個(gè)參數(shù)id,它必須是實(shí)現(xiàn)了java.io.Serializable接口,也就是可序列化的。以上介紹Hibernate基礎(chǔ)知識(shí)。

【編輯推薦】

  1. Hibernate Util簡(jiǎn)單討論
  2. 詳解優(yōu)化Hibernate性能經(jīng)驗(yàn)
  3. 概述Hibernate dbcp連接池使用方法
  4. 淺析Hibernate.cfg.xml配置
  5. Hibernate Shard基礎(chǔ)分析
責(zé)任編輯:佚名 來(lái)源: 博客園
相關(guān)推薦

2011-03-07 09:12:26

2009-08-21 17:19:36

C#網(wǎng)絡(luò)編程入門

2009-08-19 16:19:01

C#操作Access數(shù)

2011-09-16 10:13:02

Emacs

2011-03-29 14:11:20

Cacti基礎(chǔ)知識(shí)

2009-04-10 09:35:00

WCDMA基礎(chǔ)無(wú)線網(wǎng)絡(luò)

2023-07-04 07:31:06

MapReduce數(shù)據(jù)處理編程模型

2010-07-16 11:22:31

Perl

2014-08-20 10:15:45

2010-07-16 10:53:30

Perl基礎(chǔ)

2015-06-01 13:35:43

數(shù)據(jù)中心DCIM

2009-04-17 14:22:40

XPathXML基礎(chǔ)

2021-11-05 15:31:01

UbuntuLinux

2009-08-27 16:37:06

C#基礎(chǔ)知識(shí)

2009-06-25 15:24:25

Java基礎(chǔ)知識(shí)

2013-03-27 15:56:05

Android開發(fā)Andriod繪圖

2015-10-14 09:15:50

Zigbee聯(lián)盟物聯(lián)網(wǎng)

2020-10-22 08:28:04

大數(shù)據(jù)架構(gòu)技術(shù)

2018-10-31 14:44:13

VLANN基礎(chǔ)知識(shí)

2010-08-24 14:46:08

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)