在开始学Hibernate之前,一直就有人说:Hibernate并不难,无非是对JDBC进一步封装。一句不难,难道是真的不难还是眼高手低?
如果只是停留在使用的层面上,我相信什么技术都不难,看看别人怎么做的,你也可以很快上手。
这难道是学习的最终目的吗?
不是,绝对不是。我们需要了解这门技术的基本概念,它到底是什么,它是干什么的,它有什么优缺点。下面我就带领大家一起回顾一下Hibernate:
什么是Hibernate?
Hibernate,翻译过来是冬眠的意思,正好现在已经进入秋季,世间万物开始准备冬眠了。其实对于对象来说就是持久化。
扫盲--------------------------------------------------------------------------------------------------------
持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。
持久化是将程序数据在持久状态和瞬时状态间转换的机制。
JDBC就是一种持久化机制。文件IO也是一种持久化机制。
日常持久化的方法:
1、将鲜肉冷藏,吃的时候再解冻的方法也是。
2、将水果做成罐头的方法也是。
结束----------------------------------------------------------------------------------------------------------
我们从三个角度理解一下Hibernate:
一、Hibernate是对JDBC进一步封装
原来没有使用Hiberante做持久层开发时,存在很多冗余,如:各种JDBC语句,connection的管理,所以出现了Hibernate把JDBC封装了一下,我们不用操作数据,直接操作它就行了。
二、我们再从分层的角度来看
我们知道非常典型的三层架构:表示层,业务层,还有持久层。Hiberante也是持久层的框架,而且持久层的框架还有很多,比如:IBatis,Nhibernate,JDO,OJB,EJB等等。
三、Hibernate是开源的一个ORM(对象关系映射)框架。
ORM,即Object-Relational Mapping,它的作用就是在关系型数据库和对象之间做了一个映射。从对象(Object)映射到关系(Relation),再从关系映射到对象。这样,我们在操作数据库的时候,不需要再去和复杂SQL打交道,只要像操作对象一样操作它就可以了(把关系数据库的字段在内存中映射成对象的属性)。
Hibernate的核心:
从上图中,我们可以看出Hibernate六大核心接口,两个主要配置文件,以及他们直接的关系。Hibernate的所有内容都在这了。那我们从上到下简单的认识一下,每个接口进行一句话总结。
1、Configuration接口:负责配置并启动Hibernate
2、SessionFactory接口:负责初始化Hibernate
3、Session接口:负责持久化对象的CRUD操作
4、Transaction接口:负责事务
5、Query接口和Criteria接口:负责执行各种数据库查询
注意:Configuration实例是一个启动期间的对象,一旦SessionFactory创建完成它就被丢弃了。
Hibernate的优/缺点:
优点:
1、更加对象化
以对象化的思维操作数据库,我们只需要操作对象就可以了,开发更加对象化。
2、移植性
因为Hibernate做了持久层的封装,你就不知道数据库,你写的所有的代码都具有可复用性。
3、Hibernate是一个没有侵入性的框架,没有侵入性的框架我们称为轻量级框架。
对比Struts的Action和ActionForm,都需要继承,离不开Struts。Hibernate不需要继承任何类,不需要实现任何接口。这样的对象叫POJO对象。
4、Hibernate代码测试方便。
5、提高效率,提高生产力。
缺点:
1、使用数据库特性的语句,将很难调优
2、对大批量数据更新存在问题
3、系统中存在大量的攻击查询功能
总结:
Hibernate可以使我们采用对象化的思维操作关系型数据库。这篇博文最主要的目的是从整体上认识Hibernate,内容可能会有点空,不是特别详细,但是后面会有更加针对性的博文进行讲解。敬请期待。
相关推荐
SSH(Struts2 + Spring + Hibernate)是Java开发中一种常见的企业级应用框架组合,它由三个主要组件构成,用于构建高效、灵活的Web应用程序。本篇将详细讲解这三个组件的核心概念、工作原理以及如何在实际项目中进行...
Java SSH 框架整合是Java开发中常见的一项技术,主要涉及Spring、Struts和Hibernate这三个开源框架。这些框架在企业级应用开发中扮演着重要角色,分别负责控制层、视图层和持久层的管理。下面将详细介绍SSH框架整合...
这个“JAVA SSH学习帮助文档1”涵盖了这三个框架的基础知识、进阶技巧以及常见问题的解决方案,是Java程序员学习SSH集成开发的宝贵资料。 **Struts2** 是一个基于MVC设计模式的Web应用框架,它强调了控制层的分离,...
学习Java SSH框架,你需要理解每个框架的基本概念、工作原理以及如何将它们集成在一起。Spring负责整体架构和依赖管理,Struts处理Web请求,Hibernate则处理数据持久化。熟练掌握SSH框架能够提升你在Java Web开发中...
【当当网SSH架构】是一种基于Java Web技术的三层架构,SSH是Struts、Spring和Hibernate三个开源框架的缩写,常用于构建企业级的Web应用程序。这个项目非常适合初学者学习,因为它涵盖了从基础到进阶的许多核心概念,...
这个“会员管理系统”项目实例是基于SSH框架搭建的,旨在为初学者提供一个实践平台,帮助理解并掌握这三个框架的协同工作原理。 1. **Struts2**:Struts2是一个MVC(Model-View-Controller)框架,负责处理用户请求...
### Java Web开发进阶知识点梳理 #### 一、基础级知识点 **1.1 面向对象基础** - **定义**: 面向对象编程(Object-Oriented Programming,OOP)是一种程序设计思想,它将现实世界中的事物抽象为类和对象,并通过...
这是一个基于SSH(Struts2+Spring+Hibernate)的实习项目,名为“器材管理系统”,系统集成了Mysql数据库,提供了一套完整的解决方案。SSH是Java Web开发中的经典技术栈,它结合了Struts2的MVC设计模式、Spring的...
根据提供的信息,我们可以总结出以下IT相关的知识点,主要聚焦于Struts框架以及SSH(Spring + Hibernate + Struts)集成项目的教学资源。 ### Struts框架基础介绍 #### 1. Struts框架概述 - **定义**:Struts是一...
SSH在线考试系统管理员模块是一个专为初学者设计的功能简洁的平台,主要涵盖了SSH(Struts2、Spring、Hibernate)框架的运用,以及MySQL数据库管理和Tomcat服务器的部署。这个系统虽然简单,但对于初次接触Web应用...
这个“增删改查系列四之四SSH框架”教程特别适合初学者,旨在通过四个逐步进阶的案例,帮助学习者掌握在不同框架下的数据操作基础。 案例一:无框架 这个案例是最基础的,没有使用任何框架,直接使用Java Servlet和...
SSH,即Struts、Spring和Hibernate,是...这些知识点涵盖了SSH框架的基础和进阶内容,对于理解框架的运作原理和实际应用具有重要作用。在面试中,了解并能详细解释这些知识点将展示出应聘者扎实的Java Web开发技能。
SSH,全称为Spring、Struts、Hibernate,是一种常见的Java Web开发框架,常用于构建企业级应用。这个系统利用SSH框架实现了一个完整的网上购物商城,集成了MySQL数据库,提供了丰富的功能,既方便了用户购物,也支持...
Struts、Hibernate和Spring是Java开发中非常重要的三个框架,它们构成了经典的SSH(Struts、Spring、Hibernate)架构,用于构建高效、灵活的企业级应用程序。本笔记将详细讲解这三个框架的核心概念、工作原理以及...
6. **学习和实践**:学习SSH框架,首先要理解每个框架的基本概念和工作原理,然后通过实例项目进行实践,如创建用户管理、订单处理等模块。熟悉框架间的集成配置,如Struts2的Spring插件配置、Hibernate的...
在第一章中,项目可能首先介绍了SSH框架的基础概念,包括Spring框架的IoC(控制反转)和AOP(面向切面编程)原理,Struts2框架的MVC设计模式以及其拦截器机制,以及Hibernate如何简化数据库操作和对象持久化。...
SSH是Java开发中常见的三大框架——Struts、Spring和Hibernate的简称,它们分别负责MVC模式中的控制器、依赖注入和持久层操作。本教程将详细阐述如何整合这三大框架,以便构建一个高效的企业级应用程序。 **一、...
随着IT行业的快速发展,新技术层出不穷,但Struts+Spring+Hibernate(简称SSH)这一组合在Web Application开发领域仍占据着重要地位,尽管其光芒或许已被更新的技术所掩盖,然而其核心理念——如MVC设计模式、依赖...
在IT领域,尤其是Web开发中,SSH(Struts、Spring、Hibernate)框架的整合是构建高效、可扩展应用的关键技术之一。对于初学者而言,掌握SSH框架的整合不仅是技能的提升,更是实现项目从概念到实践的重要步骤。本文将...
SSH框架因其灵活性、可扩展性和模块化的设计,被广泛应用于大型企业级应用中,也是初学者进阶为专业开发者的必备技能之一。 首先,让我们深入了解一下SSH框架的每个组成部分: 1. **Struts2**:Struts2是MVC...