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

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、從化網(wǎng)絡(luò)推廣、小程序開發(fā)、從化網(wǎng)絡(luò)營(yíng)銷、從化企業(yè)策劃、從化品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供從化建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
1.如何解析XML文件
映射文件是Hibernate XML格式,數(shù)據(jù)庫(kù)配置文件也可以是Hibernate XML格式,因此如果能解析XML文件我們就可以獲取這兩個(gè)文件的信息。XML文件格式我簡(jiǎn)單做下介紹,比如
實(shí)現(xiàn)解析XML文件的功能很方便,我們可以通過(guò)下載第三方的一些工具包如xml-apis.jar和xercesImpl.jar等,也可以使用JDK自帶的工具類 DocumentBuilderFactory、DocumentBuilder、Document、Element等等,大家可以通過(guò)API文擋查閱這些類的說(shuō)明。通過(guò)這些類我們可以把XML文件的信息讀入內(nèi)存并通過(guò)類中的某些方法獲取指定節(jié)點(diǎn)的名字、值、屬性名、屬性值這些信息。
2.解析Properties文件
數(shù)據(jù)庫(kù)配置文件可以是Hibernate XML格式也可以是Properties格式,Properties文件一般采用“屬性名=屬性值”的形式描述信息。如果配置文件采用Properties文件描述,我們就需要想辦法解析這種類型的文件了。想解析Properties文件大家就需要熟悉Properties這個(gè)類了,這個(gè)類有一些常用方法比如,load()加載指定文件并讀取文件中的屬性信息,PropertyNames()返回所有屬性名,getProperty()返回指定屬性名的屬性值。通過(guò)解析Properties文件我們可以得到連接數(shù)據(jù)庫(kù)必要的信息,然后通過(guò)底層JDBC技術(shù)與數(shù)據(jù)庫(kù)建立連接。
3.解析Java類文件
通過(guò)解析映射文件和數(shù)據(jù)庫(kù)配置文件我們可以建立數(shù)據(jù)庫(kù)的連接,可以得到映射類的名字、屬性名、數(shù)據(jù)庫(kù)表名、字段名以及類型等信息。要把數(shù)據(jù)庫(kù)中表的數(shù)據(jù)映射成為對(duì)象,首先需要把表中的記錄取出,然后將每個(gè)字段值給映射類對(duì)象的每個(gè)屬性,這個(gè)賦值過(guò)程要調(diào)用對(duì)象中的set方法。我們現(xiàn)在通過(guò)映射文件只知道類名和屬性名,如何根據(jù)類名和屬性名調(diào)用相應(yīng)的set和get方法,是一個(gè)關(guān)鍵問(wèn)題。
在Java中有一種機(jī)制叫反射機(jī)制,使用這種機(jī)制我們可以得到類的信息,包括類只用的修飾符、方法、屬性、繼承的父類以及實(shí)現(xiàn)接口等信息。反射機(jī)制相關(guān)的類有Class、Field、Method以及Constructor等。通過(guò)Class的getFields()、getMethods()和 getConstructors()方法得到相應(yīng)的屬性、方法和構(gòu)造方法。通過(guò)Field類的getName()、getType()和 getModifiers()方法得到相應(yīng)的屬性名、屬性類型、屬性修飾符信息。通過(guò)Method類getReturnType()可以獲取方法的返回類型,invoke()方法可以根據(jù)給定的方法名和參數(shù)值執(zhí)行對(duì)象中對(duì)應(yīng)的方法。我們可以首先通過(guò)以上方法獲取類中的屬性名,然后拼寫成setXXX和 getXXX方法名,***根據(jù)方法名執(zhí)行對(duì)應(yīng)的方法,將數(shù)據(jù)庫(kù)數(shù)據(jù)加載到對(duì)象中。
此外要實(shí)現(xiàn)Hibernate機(jī)制還會(huì)涉及到一個(gè)技術(shù)點(diǎn),那就是如何獲取數(shù)據(jù)庫(kù)的相關(guān)信息。要實(shí)現(xiàn)這個(gè)功能,就需要大家了解JDBC的DataBaseMetaData類和ResultSetMetaData類,通過(guò)這兩個(gè)類的方法我們就可以獲取數(shù)據(jù)庫(kù)表的字段名、類型、大小等相關(guān)信息。
在這里我只是給大家把實(shí)現(xiàn)ORM功能的一些關(guān)鍵技術(shù)提了出來(lái),通過(guò)上面介紹大家對(duì)ORM機(jī)制應(yīng)該有個(gè)大概了解,比如通過(guò)解析數(shù)據(jù)庫(kù)配置文件獲取數(shù)據(jù)庫(kù)連接信息并建立連接,通過(guò)解析映射文件可以獲取映射類名、屬性名、表名以及字段名等信息,得到名字后通過(guò)反射機(jī)制可以得到映射類信息,調(diào)用構(gòu)造方法創(chuàng)建對(duì)象,調(diào)用每個(gè)屬性的set方法給對(duì)象設(shè)值完成數(shù)據(jù)的裝載。Hibernate就是采用這個(gè)過(guò)程來(lái)實(shí)現(xiàn)ORM的,當(dāng)然Hibernate還使用了事務(wù)控制、緩存控制等很多技術(shù) .
當(dāng)前題目:HibernateXML格式分析
網(wǎng)站URL:http://m.fisionsoft.com.cn/article/djdgghh.html


咨詢
建站咨詢
