篇一 :Hibernate_学习总结

                    Hibernate初级学习总结

1.       Hibernate是基于是么原因产生的?(Hibernate的有点)

v  答案:实现业务逻辑的代码和数据库访问代码掺杂在一起,使程序结构不清晰,可读性差

v  在程序代码中嵌入面向关系的SQL语句,使开发人员不能完全运用面向对象的思维来编写程序

v  业务逻辑和关系数据模型绑定,如果关系数据模型发生变化,例如修改了CUSTOMERS表的结构,那么必须手工修改程序代码中所有相关的SQL语句,这增加了维护软件的难度

v  如果程序代码中的SQL语句包含语法错误,在编译时不能检查这种错误,只有在运行时才能发现这种错误,这增加了调试程序的难度

2.       Hibernate是什么?

v  它是连接Java应用程序和关系数据库的中间件

v  它对JDBC API进行了封装,负责Java对象的持久化

v  在分层软件体系结构中它位于持久化层,封装了所有数据访问细节,使业务逻辑层可以专注于实现业务逻辑

v  它是一种ORM映射工具,能够建立面向对象的域模型和关系数据模型之间的映射

3.       hibernate中进行DML数据库操作时当注意的事项!

Public void insertUser(User user){

     Configuration cfg = new Configuration().configure();

…… …… 余下全文

篇二 :Hibernate 学习总结

                    Hibernate初级学习总结

1.       Hibernate是基于是么原因产生的?(Hibernate的有点)

v  答案:实现业务逻辑的代码和数据库访问代码掺杂在一起,使程序结构不清晰,可读性差

v  在程序代码中嵌入面向关系的SQL语句,使开发人员不能完全运用面向对象的思维来编写程序

v  业务逻辑和关系数据模型绑定,如果关系数据模型发生变化,例如修改了CUSTOMERS表的结构,那么必须手工修改程序代码中所有相关的SQL语句,这增加了维护软件的难度

v  如果程序代码中的SQL语句包含语法错误,在编译时不能检查这种错误,只有在运行时才能发现这种错误,这增加了调试程序的难度

2.       Hibernate是什么?

v  它是连接Java应用程序和关系数据库的中间件

v  它对JDBC API进行了封装,负责Java对象的持久化

v  在分层软件体系结构中它位于持久化层,封装了所有数据访问细节,使业务逻辑层可以专注于实现业务逻辑

v  它是一种ORM映射工具,能够建立面向对象的域模型和关系数据模型之间的映射

3.       hibernate中进行DML数据库操作时当注意的事项!

Public void insertUser(User user){

     Configuration cfg = new Configuration().configure();

…… …… 余下全文

篇三 :java学习经验Hibernate总结

Hibernate工作原理及为什么要用?

一 原理:

1.读取并解析配置文件2.读取并解析映射信息,创建SessionFactory3.打开Sesssion4.创建事务Transaction 5.持久化操作

6.提交事务7.关闭Session。8.关闭SessionFactory

为什么要用:

1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。

2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作

3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。

4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。

二 Hibernate 的核心接口及其作用

1 Configuration类:配置Hibernate启动Hibernate创建SessionFactory对象

2 SessionFactory:初始化Hibernate创建Session对象线程安全—同一实例被多个线程共享重量级:代表一个数据库 内部维护一个连接池

2.1 openSession():总是创建新的session,需要手动close()

2.2 getCurrentSession() : 必须在hibernate.cfg.xml设置session 上下文事务自动提交并且自动关闭session.从上下文环境中获得session,如果当时环境中不存就创建新的.如果环境中存在就使用环境中的,而且每次得到的都是同一个session (在session提交之前,提交之后就是新的了) 应用在一个session中有多个不同DAO操作处于一个事务时

3 Session:负责保存、更新、删除、加载和查询对象 轻量级--可以经常创建或销毁

…… …… 余下全文

篇四 :Hibernate 总结

Hibernate 总结

1. Hibernate框架的工作流程

a. 读取并解析配置文件

b.读取并解析映射信息,创建SessionFactory

c.打开Sesssion

d.创建事务Transation

e.持久化操作

f.提交事务

g.关闭Session

h.关闭SesstionFactory

1. Hibernate框架中的核心接口有哪些,这些接口的具体功能是什么 核心接口有:session,sessionFactory,transaction,query,configuration. a) Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。

b) SessionFactory接口:SessionFactroy接口负责初始化Hibernate。它充当数据存 储源的代理,并负责创建Session对象。

c) Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。

d) Transaction接口:Transaction接口负责事务相关的操作。

e) Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。

1. Hibernate中的Session对象表示什么?它与Web程序中的Session是一样的机制吗

Hibernate中的Session对象代表与数据库之间的一次操作,它的概念介于Connection和Transaction之间,也称为持久化管理器,因为它是与持久化有关的操作接口。它通过SessionFactory打开,在所有的工作完成后,需要关闭。 它与Web层的HttpSession没有任何关系,Web层的HttpSession是指一个作用域。

…… …… 余下全文

篇五 :Hibernate总结_心得

六、Hibernate 连接池

Mysql在经过8小时不使用后会自动关闭已打开的连接,不要使用Hibernate内置的连接池(Hibernate强烈推荐不使用但我以前一直在用),改用C3P0连接池,这个连接池会自动处理数据库连接被关闭的情况。要使用C3P0很简单,先从Hibernate里把c3p0-0.8.3.jar复制到项目的lib目录中,再在hibernate.properties里去掉hibernate.c3p0开头的那些属性的注释(使用缺省值或自己需要的数值),这样Hibernate就会自动使用C3P0代替内置的连接池了。 不论从稳定还是性能的考虑,都应该选择相对更加成熟的连接池。

<!-- 当连接池里面的连接用完的时候,C3P0一下获取的新的连接数 -->

<property name="hibernate.c3p0.acquire_increment">2</property>

<!-- 每隔120秒检查连接池里的空闲连接 ,单位是秒-->

<property name="hibernate.c3p0.idle_test.preiod">100</property>

<!-- 最大连接数 -->

<property name="hibernate.c3p0.max_size">100</property>

<!-- 最大的PreparedStatement的数量 -->

<property name="hibernate.c3p0.max_statements">100</property>

<!-- 最小连接数 -->

…… …… 余下全文

篇六 :Hibernate重点和总结

Hibernate

重点总结和讲解

? Hibernate 是对象 / 关系映射 ORM(Object/Relation

Mapping) 的解决方案,是一个可以自动的根据 xml

配置文件来完成对象关系映射,并持久化到数据库 的开源组件。

? 对象持久化,把数据保存在永久的存储介质中(数 据库)

? POJO 类 (Plain old java object), 即简单 java 类 ( 标准 的 Java Bean)

? PO(Persistence Object) 持久层的对象

? VO(Value Object) 值对象,数据传递对象

? Hibernate 的底层是由 JDBC 实现的。

? Hibernate 的系统配置文件的名字一般叫做 hibernate.cfg.xml ,映射文件一般是类名 .hbm.xml 。Hibernate 的编程步骤

? 1 ,配置环境,加载 hibernate3.jar ,第三方工具

以及连接数据库使用的 jar 文件 ( 例 ojdbc14.jar) ,

并配置 CLASSPATH 环境变量。

? 2 ,建立数据库,执行 DDL 语句。

? 3 ,写 POJO 类。

? 4 ,写 hibernate 所需的配置文件:

hibernate.cfg.xml , Xxxxx.hbm.xml 。

? 5 ,调用 hibernate API 。hibernate.cfg.xml

配置文件

? hibernate.cfg.xml 该文件放到 CLASSPATH 中,

在该文件中描述的信息

? 包括:

? 1) 为了建立数据库连接所需的所有信息。

? 2) 配置数据库特定的 Hibernate 提供的方言。

? 3) 注册 Xxxx .hbm.xml 文件的位置 ( 相对于

…… …… 余下全文

篇七 :Hibernate总结

Hibernate总结

一 Hibernate:

1 hibernate基本原理

1) 为什么使用hibernate?

a hibernate属于 M,跟jdbc干同样的事,都是对

数据库的操作

b hibernate是对jdbc的封装,底层依然是jdbc

c hibernate是ORM框架,O--->Object(实体类对象)

R--->Relational(表) M --->Mapping(映射)

hibernate就是用面向对象的方式,来操作数据库

简化程序员的开发

d hibernate也叫持久层框架

e 市场上能占到40%左右

f hibernate因为底层封装jdbc,性能稍弱 (面试会经常问到,重要)

2 简要介绍一下hibernate3.2文件

1) doc :hibernate3.2的说明文档,包含hibernate的

Api(全英文版)

2) eg:hibernate官方提供的案例,包含

User.hbm.xml(映射文件:实体类跟数据库表关联

桥梁)

3) etc:hibernate中所有的配置,其中最重要

hibernate.cfg.xml(hibernate核心配置文件,hibernate

运行必要的文件),包括一些缓存文件ehcache.xml

4 ) lib :跟hibernate有关所有的第3方jar

5 ) src : hibernate所有的源代码,开源框架

6 ) hibernate3.jar:hibernate核心jar

PS:归纳hibernate特点:

(1) 简单(对于程序员)

(2) 开源

(3) orm框架,持久层(M)框架

(4) 可以兼容现在所有主流的数据库

(5) 完全面向对象

(6) 性能不好

3 使用hibernate的步骤

…… …… 余下全文

篇八 :hibernate的总结

Hibernate框架:

1)jdbc有什么缺点?

a)代码难于维护

b)jdbc就是拼凑sql语句,然后发送数据库当中执行,对于程序员考虑问题,更多是对sql语句编写

c)jdbc的代码,过于复杂,任何操作,都必须要使用connection等接口

2)hibernate :最本质其实就对jdbc的一个轻量级封装

对于程序员:完全面向对象

对于数据库:底层执行的依然是jdbc,拼凑sql语句,发送到数据库中执行

3)使用hibernate来取代jdbc,能最大化的减少程序员的工作量

2 Hibernate 优点和缺点

Hibernate:底层运行jdbc,对程序员面向对象

1)优点

a 面向对象

b hibernate代码相对于jdbc代码来说,至少减少三分之一,

使用hibernate可以减少工作量

c hibernate比较简单

d 开源(源代码全部公开)

e 成熟:使用时间较长,版本较多,比较稳定

f 可以匹配后台任意的数据库

2)缺点

性能较差(尤其大型项目数据量非常大的时候,一定不要使用hibernate, 使用jdbc)

3 Orm映射框架:

ORM: 对象到表的映射

用面向对象的思维方式,操作数据库中的表

Hibernate就属于比较优秀的开源(免费)ORM映射框架

配置连接信息:

dialect:方言,跟据不同的配置不同的方言,可以让我们

hibernate写的代码,自动去匹配后台的数据,但对数据库

进行操作的时候,hibernate把发送sql语句,自动转化为

当前数据库的sql语句,而代码不用做任何的修改

2 hibernate自身配置信息

show_sql: hibernate底层运行的是jdbc执行sql语句,

把底层发送给数据库的sql语句,显示到当前控制台上,用于调错

…… …… 余下全文