成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hibernate XML格式分析

開發(fā) 后端
這里介紹映射文件是Hibernate XML格式,數(shù)據(jù)庫配置文件也可以是Hibernate XML格式,因此如果能解析XML文件我們就可以獲取這兩個文件的信息。

本文向大家介紹Hibernate XML格式,可能好多人還不了解Hibernate XML格式,沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。

1.如何解析XML文件

映射文件是Hibernate XML格式,數(shù)據(jù)庫配置文件也可以是Hibernate XML格式,因此如果能解析XML文件我們就可以獲取這兩個文件的信息。XML文件格式我簡單做下介紹,比如<name sex=“male”>tom</name>這句就是一個Hibernate XML格式的描述,name代表節(jié)點,節(jié)點必須有開始標(biāo)記<name& gt;和結(jié)束標(biāo)記</name>,在開始標(biāo)記中我們可以添加一些屬性的聲明比如sex.解析XML的技術(shù)可以分為兩類那就是SAX和DOM,這兩種方式的差別和優(yōu)缺點大家可以上網(wǎng)查閱或者我們會在以后的文章中提出,請大家關(guān)注。

實現(xiàn)解析XML文件的功能很方便,我們可以通過下載第三方的一些工具包如xml-apis.jar和xercesImpl.jar等,也可以使用JDK自帶的工具類 DocumentBuilderFactory、DocumentBuilder、Document、Element等等,大家可以通過API文擋查閱這些類的說明。通過這些類我們可以把XML文件的信息讀入內(nèi)存并通過類中的某些方法獲取指定節(jié)點的名字、值、屬性名、屬性值這些信息。

2.解析Properties文件

數(shù)據(jù)庫配置文件可以是Hibernate XML格式也可以是Properties格式,Properties文件一般采用“屬性名=屬性值”的形式描述信息。如果配置文件采用Properties文件描述,我們就需要想辦法解析這種類型的文件了。想解析Properties文件大家就需要熟悉Properties這個類了,這個類有一些常用方法比如,load()加載指定文件并讀取文件中的屬性信息,PropertyNames()返回所有屬性名,getProperty()返回指定屬性名的屬性值。通過解析Properties文件我們可以得到連接數(shù)據(jù)庫必要的信息,然后通過底層JDBC技術(shù)與數(shù)據(jù)庫建立連接。

3.解析Java類文件

通過解析映射文件和數(shù)據(jù)庫配置文件我們可以建立數(shù)據(jù)庫的連接,可以得到映射類的名字、屬性名、數(shù)據(jù)庫表名、字段名以及類型等信息。要把數(shù)據(jù)庫中表的數(shù)據(jù)映射成為對象,首先需要把表中的記錄取出,然后將每個字段值給映射類對象的每個屬性,這個賦值過程要調(diào)用對象中的set方法。我們現(xiàn)在通過映射文件只知道類名和屬性名,如何根據(jù)類名和屬性名調(diào)用相應(yīng)的set和get方法,是一個關(guān)鍵問題。

在Java中有一種機制叫反射機制,使用這種機制我們可以得到類的信息,包括類只用的修飾符、方法、屬性、繼承的父類以及實現(xiàn)接口等信息。反射機制相關(guān)的類有Class、Field、Method以及Constructor等。通過Class的getFields()、getMethods()和 getConstructors()方法得到相應(yīng)的屬性、方法和構(gòu)造方法。通過Field類的getName()、getType()和 getModifiers()方法得到相應(yīng)的屬性名、屬性類型、屬性修飾符信息。通過Method類getReturnType()可以獲取方法的返回類型,invoke()方法可以根據(jù)給定的方法名和參數(shù)值執(zhí)行對象中對應(yīng)的方法。我們可以首先通過以上方法獲取類中的屬性名,然后拼寫成setXXX和 getXXX方法名,***根據(jù)方法名執(zhí)行對應(yīng)的方法,將數(shù)據(jù)庫數(shù)據(jù)加載到對象中。

此外要實現(xiàn)Hibernate機制還會涉及到一個技術(shù)點,那就是如何獲取數(shù)據(jù)庫的相關(guān)信息。要實現(xiàn)這個功能,就需要大家了解JDBC的DataBaseMetaData類和ResultSetMetaData類,通過這兩個類的方法我們就可以獲取數(shù)據(jù)庫表的字段名、類型、大小等相關(guān)信息。

在這里我只是給大家把實現(xiàn)ORM功能的一些關(guān)鍵技術(shù)提了出來,通過上面介紹大家對ORM機制應(yīng)該有個大概了解,比如通過解析數(shù)據(jù)庫配置文件獲取數(shù)據(jù)庫連接信息并建立連接,通過解析映射文件可以獲取映射類名、屬性名、表名以及字段名等信息,得到名字后通過反射機制可以得到映射類信息,調(diào)用構(gòu)造方法創(chuàng)建對象,調(diào)用每個屬性的set方法給對象設(shè)值完成數(shù)據(jù)的裝載。Hibernate就是采用這個過程來實現(xiàn)ORM的,當(dāng)然Hibernate還使用了事務(wù)控制、緩存控制等很多技術(shù) .

【編輯推薦】

  1. Hibernate3.1簡單描述
  2. Hibernate save基礎(chǔ)簡介
  3. 淺析Hibernate 3二級緩存基礎(chǔ)
  4. Hibernate流行架構(gòu)淺析
  5. Hibernate update淺談
責(zé)任編輯:佚名 來源: BlogJava
相關(guān)推薦

2009-09-29 15:58:22

Hibernate映射

2009-09-23 16:39:51

Hibernate s

2009-09-29 15:52:26

Hibernate X

2009-09-22 14:44:18

Hibernate.c

2009-09-23 13:33:51

Hibernate屬性

2009-09-24 09:35:47

Hibernate插入

2009-09-28 15:38:12

Hibernate P

2009-09-22 14:23:37

Hibernate S

2009-09-23 10:28:16

Hibernate映像

2009-09-22 11:30:57

2009-09-22 17:47:03

Hibernate s

2009-09-22 11:24:07

Hibernate查詢

2009-09-24 13:49:31

Hibernate自增

2009-09-25 14:04:12

Hibernate讀取

2009-09-29 10:40:26

Hibernate業(yè)務(wù)

2009-09-21 14:24:08

Hibernate3.

2009-09-24 13:12:20

Hibernate原生

2023-08-31 07:55:21

Android系統(tǒng)壓縮處理

2009-09-23 15:25:08

Hibernate 3

2009-06-16 13:27:59

Hibernate x
點贊
收藏

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

主站蜘蛛池模板: www.国产精 | 一区二区视频 | 99一级毛片 | 最新超碰| 日韩一区二区在线视频 | 中文字幕 国产 | 国产在线观看福利 | 亚洲视频国产视频 | 国产精品不卡视频 | 日日射影院 | 久久免费精彩视频 | 精品91久久 | 成av在线| 日韩欧美不卡 | 欧美亚洲成人网 | 中文字幕视频在线观看免费 | 激情av免费看 | 成人在线视频网 | 天天草狠狠干 | 亚洲精品视 | 免费在线看黄 | 国产精品综合视频 | 国产成人精品一区二 | 69热视频在线观看 | 亚洲成人免费视频在线 | 免费视频二区 | 国产精品久久久久久久久久久久冷 | 最近日韩中文字幕 | 国产欧美一区二区精品久导航 | 91av在线电影 | 国产黄色小视频在线观看 | 欧美日韩亚洲国产 | 国产精品久久久久国产a级 欧美日韩国产免费 | www.黄色片视频 | 女同久久另类99精品国产 | 国产乱码精品一区二三赶尸艳谈 | 国产东北一级毛片 | 一区二区三区精品视频 | 亚洲成色777777在线观看影院 | 精精精精xxxx免费视频 | 久久精品网 |