能落到实处ORM这些效果的框架有无数365体育网站

1.什么是ORM 
ORM的齐全部是Object Relational
Mapping,即对象关联映射。它的完成观念正是将关周详据库中表的多少映射成为目的,以指标的款式展现,那样开垦人士就能够把对数据库的操作转化为对这么些目的的操作。由此它的指标是为着便利开垦人士以面向对象的思辨来兑现对数据库的操作。

2.什么是Hibernate 
对于Hibernate的称为有比相当多,举个例子工具、手艺、框架以及减轻方案等,这一个都能够,首要的是大家要驾驭它的功力。在那边小编习于旧贯性称它为框架,它是一种能完成ORM的框架。能兑现ORM那几个意义的框架有为数非常多,Hibernate能够说是这几个框架中最盛行、最受开荒者关怀的,以致连JBoss公司也把它接受进去,利用它在本身的类型中达成ORM作用。

3.ORM的达成原理 
后日在Java领域大家对Hibernate的切磋非常多,譬喻它的利害、如何选取、错误怎么样缓慢解决以及把它和Struts/Spring等框架相结同盟为任何种类的消除方案。在此地自个儿想和大家研商一些越来越深档案的次序的话题,那就是Hibernate是怎样落到实处ORM的法力?假如让大家有福同享开采一款实现ORM功用的框架供给如何是好?其实那么些难点正是围绕着多少个词,那便是“映射”,倘使大家清楚如何落到实处这种映射那么大家也可以开荒出本人的一款ORM框架。会选拔Hibernate的开拓人士都明白,在运用它完成ORM作用的时候,重要的文书有:映射类(*.java)、映射文件(*.hbm.xml)以及数据库配置文件(*.properties或*.cfg.xml),它们各自的机能如下。 
⑴映射类:它的作用是描述数据库表的布局,表中的字段在类中被描述成属性,今后就能够兑现把表中的笔录映射成为该类的靶子。 
⑵映射文件:它的功用是点名数量库表和映射类之间的涉嫌,富含映射类和多少库表的附和关系、表字段和类属性类型的呼应关系以及表字段和类属性名称的相应关系等。 
⑶数据库配置文件:它的成效是点名与数据库连接时要求的接连音信,比方总是哪中数据库、登入用户名、登陆密码以及总是字符串等。 
在那二种重大的文书中,映射类为一般Java源文件、映射文件为XML格式、数据库配置文件为Properties格式可能是XML格式。想了解“映射”首先我们供给了然什么剖判这两种文件,即分析XML格式文件、分析Properties格式文件和平解决析Java类文件。

上面大家来分别追究一下怎么兑现这几个文件的剖判。 
⑴如何分析XML文件 
前面大家说过映射文件是XML格式,数据库配置文件也能够是XML格式,由此一旦能解析XML文件大家就足以获得那四个公文的新闻。XML文件格式小编大约做下介绍,例如<name
sex=”male”>tom</name>那句便是一个XML格式的叙述,name代表节点,节点必须有始发标识<name>和得了标记</name>,在开班标志中大家得以加上一些质量的扬言比如sex。分析XML的工夫能够分成两类那就是SAX和DOM,那二种办法的差别和优劣势我们能够上网查阅或许大家会在事后的篇章中提议,请大家关切。完成深入分析XML文件的效果与利益很有利,大家能够通过下载第三方的一部分工具包如xml-apis.jar和xercesImpl.jar等,也足以动用JDK自带的工具类DocumentBuilderFactory、DocumentBuilder、Document、Element等等,咱们能够由此API文挡查阅那些类的评释。通过那几个类我们能够把XML文件的音信读入内部存款和储蓄器并通过类中的有个别方法获得钦点节点的名字、值、属性名、属性值那么些新闻。 
⑵解析Properties文件 
数据库配置文件能够是XML格式也足以是Properties格式,Properties文件一般采纳“属性名=属性值”的款式描述消息。倘使布置文件采取Properties文件呈报,大家就要求想艺术剖判那类别型的公文了。想解析Properties文件大家就要求熟习Properties这几个类了,那一个类有一部分常用方法举例,load()加载内定文件并读取文件中的属性音信,PropertyNames()重临全体属性名,getProperty()再次回到内定属性名的属性值。通过分析Properties文件大家得以获得三番五次数据库须要的新闻,然后通过尾部JDBC本领与数据库创建连接。 
⑶解析Java类文件 
因而分析映射文件和数据库配置文件大家能够建设构造数据库的总是,可以获取映射类的名字、属性名、数据库表名、字段名以及项目等新闻。要把数据库中表的数目映射成为指标,首先需求把表中的笔录抽出,然后将种种字段值给映射类对象的各种属性,这一个赋值进程要调用对象中的set方法。大家将来透过照射文件只知道类名和属性名,怎样依照类名和属性名调用相应的set和get方法,是一个关键问题。在Java中有一种机制叫反射机制,使用这种机制大家能够收获类的新闻,包含类只用的修饰符、方法、属性、传承的父类以及贯彻接口等音信。反射机制相关的类有Class、Field、Method以及Constructor等。通过Class的getFields()、getMethods()和getConstructors()方法获得相应的品质、方法和构造方法。通过Field类的getName()、getType()和getModifiers()方法取得相应的属性名、属性类型、属性修饰符新闻。通过Method类getReturnType()能够收获情势的归来类型,invoke()方法可以依附给定的方法名和参数值试行对象中对应的方法。大家可以率先通过以上措施获得类中的属性名,然后拼写成setXXX和getXXX方法名,最终依照办法名推行相应的点子,将数据库数据加载到指标中。 
另外要促成Hibernate机制还也许会涉嫌到一个本领点,那正是怎么着收获数据库的相干新闻。要兑现那个功用,就须求大家领悟JDBC的DataBaseMetaData类和ResultSetMetaData类,通过这七个类的措施大家即可获取数据库表的字段名、类型、大小等辅车相依音讯。 
在此间自个儿只是给我们把贯彻ORM功用的一部分关键技艺提了出去,通过上边介绍大家对ORM机制应该有个大致领会,举个例子通过分析数据库配置文件获取数据库连接音讯并创立连接,通过深入分析映射文件能够得到映射类名、属性名、表名以及字段名等音讯,获得名字后通过反射机制得以博得映射类新闻,调用构造方法创制对象,调用每种属性的set方法给目的设值实现多少的装载。Hibernate正是使用那一个进程来落到实处ORM的,当然Hibernate还动用了事情调节、缓存调控等大多技能……

转:http://www.cnblogs.com/bendantuohai/p/4711340.html

谢!

相关文章