Hibernate是什么,它有什么作用?
Hibernate它是一个轻量级的jdbc封装,也就是说,我们可以使用hibernate来完成原来我们使用jdbc完成操作,就是与数据库的交互操作。它是在dao层去使用的。
对象关系映射(英语:Object Relation Mapping,简称ORM,或O/RM,或O/R mapping)
简单说,我们使用orm可以将我们的对象与我们的类去进行映射,使的我们可以去操作对象就完成对表的操作。
Hibernate快速入门
下载hibernate
hibernate jar包目录详解
documentation目录:存放hibernate的相关文件与API
lib目录:存放hibernate编译和运行所依赖的jar包,其中required子目录下包含了运行hibernate项目必须的jar包
project目录:存放hibernate各种相关的源代码与资源.
在lib/required目录中,包含的jar包
创建数据库与表
创建实体类
导入hibernate框架相关依赖jar包**
导入hibernate框架相关依赖jar包
导入数据库的驱动jar包
日志相关jar包
将hibernate/project/etc/log4j.properties文件导入到工程src下.
Hibernate的相关配置文件
有两种:
1.xxx.hbm.xml 它主要是用于描述类与数据库中的表的映射关系.
2.hibernate.cfg.xml 它是hibernate框架核心配置文件。
映射配置文件
位置:它要与实体类在同一个包下.
名称 :类名.hbm.xml
约束:
可以在hibernate的核心的jar包下的org.hibernate包下查找到
核心配置文件
它主要是hibernate框架所使用的,它主要包含了连接数据库相关信息,hibernate相关配置等。
位置:在src下创建一个hibernate.cfg.xml
约束:
约束文件所在位置:hiberante核心jar包下的org.hibernate包下
在这个文件中如何配置?
可以参考 hibernate-release-5.0.7.Final\project\etc\hibernate.properties文件
Hibernate快速 入门开发测试
Hibernate执行原理总结
hibernate工作原理:
1、通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件。
2、由hibernate.cfg.xml中的<mappingresource=“com/xx/User.hbm.xml”/>读取解析映射信息。
3、通过config.buildSessionFactory();//得到sessionFactory。
4、sessionFactory.openSession();//得到session。
5、session.beginTransaction();//开启事务。
hibernate工作原理:
1、通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件。
2、由hibernate.cfg.xml中的<mappingresource=“com/xx/User.hbm.xml”/>读取解析映射信息。
3、通过config.buildSessionFactory();//得到sessionFactory。
4、sessionFactory.openSession();//得到session。
5、session.beginTransaction();//开启事务。
hibernate工作原理:
1、通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件。
2、由hibernate.cfg.xml中的<mappingresource=“com/xx/User.hbm.xml”/>读取解析映射信息。
3、通过config.buildSessionFactory();//得到sessionFactory。
4、sessionFactory.openSession();//得到session。
5、session.beginTransaction();//开启事务。
6、persistent operate;
7、session.getTransaction().commit();//提交事务
8、关闭session;
9、关闭sessionFactory;
Hibernate的配置详解
Hibernate的配置详解
核心配置文件 hibernate.cfg.xml
对于hibernate的核心配置文件它有两种方式:
- hibernate.cfg.xml
- hibernate.properties
我们在开发中使用比较多的是hibernate.cfg.xml这种方式,原因它的配置能力更强,易于修改
我们主要讲解的是hibernate.cfg.xml配置 - 可以加载数据库相关信息
- hibernate相关配置
- 加载映射配置文件
对于hibernate.cfg.xml配置文件中的内容可以参考hibernate/project/etc/hibernate.properties的配置
6配置这个属性后,我们可以进行表的自动创建
Create-drop 每次都会创建一个新的表,执行完成后删除。一般在测试中使用
Create 每次都会创建一个新的表,一般是在测试中使用
update 如果数据库中有表,不创建,没有表创建,如果映射不匹配,会自动更新表结构(只能添加)
validate 只会使用存在的表,并且会对映射关系进行校验.
映射配置文件 xxx.hbm.xml
映射配置文件它的名称是类名.hbm.xml,它一般放置在实体类所在的包下。
这个配置文件的主要作用是建立表与类的映射关系。
- 统一声明包名,这样在中就不需要写类的全名.
3.关于标签配置
name属性:类的全名称
table 表的名称,可以省略,这时表的名称就与类名一致
catalog属性:数据库名称 可以省略.如果省略,参考核心配置文件中url路径中的库名称
4.关于标签
首先它必须存在。是用于建立类中的属性与表中的主键映射。
name 类中的属性名称
column 表中的主键名称 column它也可以省略,这时列名就与类中属性名称一致
length 字段长度
type属性 指定类型
它主要是描述主键生成策略.
5. 关于<property>标签
它是描述类中属性与表中非主键的映射关系
关于hibernate的映射文件中类型问题
对于type属性它的取值,可以有三种:
- java中的数据类型
- hibernate中的数据类型
- SQL的数据类型
默认是hibernate中数据类型
.
.