标签:
1.设计原理
Hibernate采用了ORM思想对JDBC进行了封装。
Hibernate框架是ORM思想的一种实现,解决了对象和数据库映射的问题。
Hibernate提供了一系列API,允许我们直接访问实体对象,然后其根据ORM映射关系,转换成SQL并且去执行,从而达到访问数据库的目的。
2.ORM思想
ORM:Object Relation Mapping,即对象关系映射,指的是Java对象和关系数据库之间的映射。
ORM思想,就是将对象与数据库进行相互转换的思想,不同的框架/技术实现ORM的手段不同,但更多的是采用配置+反射的方式来实现ORM。
3.主配置文件
Hibernate的主配置文件是一个XML文件,通常命名为hibernate.cfg.xml.
该文件中可以配置数据的连接参数、Hibernate框架参数,以及映射关系文件
4.实体类
实体类是与数据库表对应的Java类型,他是用于封装数据库记录的对象类型。
5.映射关系文件
映射关系文件指定了实体类和数据表的对应关系,以及类中属性和表字段之间的对应关系。
Hibernate中使用XML文件描述映射关系,文件通常命名为"实体类.hbm.xml",并放于实体类相同的路径下。
6.底层API
Hibernate提供了一系列的底层API,基于ORM思想,对数据库进行访问。
这些API主要是对映射关系文件的解析,根据解析出来的内容,动态生成SQL语句,自动将属性和字段映射。
7.Hibernate常用API
Configuration
负责加载主配置文件信息,同时也加载映射关系文件信息。
SessionFactory
负责创建Session对象
Session
数据库连接回话,负责执行增删改操作。
Transaction
负责事务控制。
Query
负责执行特殊查询。
8.Hibernate使用步骤
导入Hibernate包,以及数据库驱动包。
引入Hibernate主配置文件hibernate.cfg.xml。
创建实体类
创建映射关系文件。
使用Hibernate常用API执行增删改查操作
9.Java类型
Hibernate映射关系文件中,配置属性和字段关系时,可以在type属性上指定Java类型,用于做Java属性和数据库字段的转换
指定Java类型时,需要写出完整的类型名,如:java.lang.String.
自定义类型
某些特殊的类型,Java预置类型无法支持,需要自定义一个类来实现,这个类要求实现接口UserType.
比如布尔类型,数据库中一般存的是char(1),一般存入y/或者t/f。Java预置类型无法支持对布尔类型的配置,因此需要自定义UserType接口的实现类来实现。
10.Hibernate预定义类型
Hibernate也提供了一些类型来支持这些映射,这些类型在写法上比较简单,另外也支持所有的数据类型。
Hibernate提供了7种映射类型,这些类型在书写时是全小写的。
这些映射类型以及它能够进行哪些Java类型和数据库类型的转换如下图:
标签:
原文地址:http://www.cnblogs.com/Crow00/p/4700818.html