您的位置:首页 > 其它

Hibernate框架知识点总结

2017-01-17 10:21 183 查看

第一部分 hibernate基础

hibernate简介

持久化:指的是将内存中的数据保存到磁盘等存储设备中去

持久化对象:已经存储 到数据库或磁盘中的业务对象

Java 持久化对象的三种方式:

1.序列化对象:将对象存放到格式化的文本文件中去

2.将对象持久化到XML文档中去

3.将对象持久化到数据库中,一般为关系型数据库

关系型数据库的重要原则:数据独立性,即数据可以独立于应用程序而存在

三层架构:

表示层:提供了与用户交互的接口

业务逻辑层:完成业务流程

数据库层:存储需要持久化的业务数据

jdbc不仅操作对象,还需要操作关系,不是完成的面向对象编程

对象关系映射:实现了将Java应用中的对象到关系型数据库中的表字段持久化,使用元数据来描述对象和数据库之间的映射关系.元数据采用xml形式

hibernate工作原理

1.hibernate初始化,创建configuration对象

2.configuration读取配置信息创建sessionfactory对象

3.创建session实例,建立数据库连接

4.创建transaction实例,开启一个事务

5.利用session的方法进行持久化操作,将实体对象存放到数据库中

6.提交操作结果并结束事务

7.关闭session,断开数据库连接

hibernate实例

Hibernate中的Java对象需要满足以下的特点:

1.实现序列化接口

2.提供私有化属性,以及get/set方法

3.提供默认构造器

4.不要讲持久化类声明为final

Hibernate的延迟加载特性:

当应用需要使用某个持久化对象的集合属性时,才从数据库中装载与该属性关联的数据.初始化持久化对象时候没有对集合属性进行初始化.

Hibernate.cfg.xml文件的常用属性

1.hibernate jdbc属性

1.hibernate.connection.dirver_class  jdbc驱动
2.hibernate.connection.url           jdbc url
3.hibernate.connection.username      数据库用户名
4.hibernate.connection.password      数据库密码
5.hibernate.connection.pool_size     最大的连接数


2.hibernate.dialect 数据库方言

3.hibernate.show_sql 显示sql到控制台

4.映射文件列表

<mapping resource="包名/User.hbm.xml"/>


启动hibernate需要创建一个sessionFactory对象,该对象是一个线程安全的对象,只能被实例化一次.用来创建一个或者多个session对象

第二部分 hibernate核心文件

配置文件 hibernate.cfg.xml

hibernate.cfg.xml配置文件连接了持久层与映射文件所需的基本信息

<!--版本信息以及字符集-->
<?xml version="1.0" encoding="UTF-8"?>
<!--配置文件的DTD信息-->
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!--根元素-->
<hibernate-configuration>
<session-factory>
<!--配置jdbc驱动-->
<property name="hibernate.connection.dirver_class">
com.mysql.jdbc.Driver
</property>
<!--配置数据库连接URL-->
<property name="hibernate.connection.url">
com.mysql.jdbc.
</session-factory>
</hibernate-configuration>


这里写代码片


映射文件 x.hbm.xml

关联关系映射关系

第三部分 hibernate 核心接口

configuration接口

sessionFactory接口

session接口

transaction接口

Query接口

Criteria接口
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hibernate