01.Hibernate概述

1.Hibernate是持久化层的一个大型开源框架。

2.持久化 

①狭义:将数据从“不可掉电”的设备保存到“可以掉电”的设备上。 

②广义:所有与数据库有关的操作,都可以看做持久化操作。 

[1]添加 

[2]删除 

[3]更新 

[4]查询:在Hibernate中特指使用专门的API显式的进行查询,例如:HQL或QBC等等。 

[5]加载:根据指定的OID的值,从数据库中加载一个Java对象到内存中。 

OID:Object ID。Java实体类中与数据库表记录的主键对应的属性。 

3.ORM 

①ORM:Object Relationship Mapping对象关系映射 

Object:Java中的实体类对象,例如:Book、Student、Order等等。 

Relationship:关系型数据库。 

②映射 

[1]JDBC能够实现的映射方式 

类 

数据库表 

属性 

表的字段 

对象 

数据库表中的记录 

 

[2]Hibernate能够实现的映射 

●单表关联

●单向/双向多对一

●基于主键/外键的一对一

●单向/双向多对多

 

4.Hibernate的特点

①非侵入式框架——Hibernate对持久化类没有特殊的要求,不需要持久化类实现任何接口或继承任何类。 

②能够将对Java对象的操作,转化为对数据库表的操作。 

Student stu = (Student)session.get(Student.class,1);

stu.setStuName("Tom"); 

③减少对SQL语句的编写 

④Hibernate维护了两个级别的缓存,通过利用缓存能很大程度上提升程序的性能。 

[1]线程级别的一级缓存  Session级别 

Student stu = (Student)session.get(Student.class,1);

stu = (Student)session.get(Student.class,1); 

 

[2]进程级别的二级缓存  SessionFactory级别

对于一些经常查询且很少修改的数据可以保存到二级缓存中,在项目整个运行过程中,这类数据只加载一次,减少对数据库访问的次数。

 程序→一级缓存→二级缓存→数据库

⑤屏蔽不同数据库实现之间的差异 

在Hibernate中只需要提供具体数据库的“方言”,Hibernate就可以根据需要生成特定数据库上能够执行的SQL语句。 

MySQL分页:limit  Oracle分页:RUWNUM

5.安装Hibernate插件

posted @ 2016-08-17 14:43  丰苇原中国  阅读(381)  评论(0)    收藏  举报