这篇博客小编介绍Hibernate的经典内容:对象关系映射。主要介绍映射的基本概念,映射的分类,映射文件。html
ORM(Object Relational Mapping),即对象关系映射。它的做用就是在关系型数据库和对象之间作了一个映射。从对象(Object)映射到关系(Relation),再从关系映射到对象。相信不少人跟小编一个毛病,看到概念就头疼,下面小编画了一张图加深理解。java
这张图特别简单:原来,没有Hibernate时,咱们须要经过JDBC+手动写SQL语句来操做数据库,如今,有了Hibernate,它将JDBC+SQL进行了高度封装,咱们不须要再去和复杂SQL打交道,只要像操做对象同样操做数据库就能够了。mysql
ORM的实现思想就是将数据库中表的数据映射成对象,Hibernate可使咱们采用对象化的思惟操做关系型数据库。算法
Hibernate在实现ORM功能的时候主要用到的文件有:
一、 映射类(*.java):它是描述数据库表的结构,表中的字段在类中被描述成属性,未来就能够实现把表中的记录映射成为该类的对象了。
二、映射文件(*.hbm.xml):它是指定数据库表和映射类之间的关系,包括映射类和数据库表的对应关系、表字段和类属性类型的对应关系以及表字段和类属性名称的对应关系等。
三、 hibernate核心配置文件(*.properties/*.cfg.xml):它指定hibernate的一些核心配置,包含与数据库链接时须要的链接信息,好比链接哪一种数据库、登陆数据库的用户名、登陆密码以及链接字符串等。映射文件的地址信息也放在这里。sql
上面的内容看上去挺多,其实特别少,基本映射很简单,咱们主要学习关联关系映射,其余几种映射通常不会用,只须要了解便可,用的时候看一下相关资料会作就好。数据库
上篇博文咱们已经实现了一个基本映射,是使用XML方式配置映射,以下所示:session
[html] view plain copyapp
除了XML方式配置映射外,还能够经过给类文件添加注解的方式配置映射,在上篇博文的基础之上,咱们稍加修改。工具
一、加入hibernate annotion支持包学习
*hibernate-annotations.jar
*hibernate-commons-annotations.jar
*ejb3-persistence.jar
如图所示:
二、创建实体类User,采用注解完成映射
[java] view plain copy
注:因为主键改为了自增加,因此数据类型修改为了int类型
三、提供hibernate.cfg.xml文件,将实体类User加入到hibernate.cfg.xml配置文件中,完成基本配置
[html] view plain copy
四、编写工具类ExportDB.java,注解生成ddl,必须采用AnnotationConfiguration类
[java] view plain copy
数据库生成表如图所示:
五、创建客户端类Client,添加用户数据到mysql
[java] view plain copy
运行以后,数据库表生成的数据,以下图所示:
注解和xml文件的优缺点,网上有不少,有兴趣能够查一下,小编就再也不累述了,可是小编认为,学习初期最好不要使用注解,不易于理解Hibernate的原理,而且注解对于程序的可扩展性而言,太差了。
下篇博文,咱们介绍Hibernate的七种关联关系映射,异常简单,谢谢关注。