Hibernate的初步

1.简介

在java开发领域,基于数据库应用的设计与实现一直都是面向关系的,Hibernate对象/关系映射ORM框架的出现为java面向对象开发提供了易于使用的数据持久化解决方案。

  ORM介绍:

  (a).ORM(Object Relation Mapping)中文翻译成对象关系映射

  (b).ORM是一种为解决“面向对象”与“关系数据库”存在不匹配的现象而出现的一种技术

  (c).ORM通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中

  (d).ORM中的映射关系为:面向对象中的(类/对象/属性)——>面向关系中的(表/表的行(记录)/表的列(字段))

  (e).ORM实现的思想:将关系数据库中表的记录(表的行)映射成对象,以对象的形式展现,程序员可以将对数据库的操作转化为对对象的操作

  (f).流行的ORM框架:Hibernate , Ibatis , TopLink , apache OJB

Hibernate将java中的对象与对象的关系映射至关系型数据库中成表格与表格的关系,起到了java应用和关系数据库之间的桥梁作用,它封装了JDBC访问数据库的操作,并向上层提供面向对象的数据库访问API。

  这里借用网上一张图片来说下Hibernate与JDBC之间的区别:

  

2.Hibernate运行过程

(a). 应用程序调用configuration类

(b). configuration类读取Hibernate配置文件以及映射文件,并用这些信息生成一个SessionFactory类。

(c).从SessionFactory类生成一个Session对象

(d).用Session对象生成一个Transaction对象

(e).可通过Session对象的get(),load(),save(),update(),delete() 和saveorupdate()等方法对POJO类(plain old java object)进行加载,保存,更新,删除等操作

  POJO介绍:

  (a‘) POJO (plain old java object)中文译为:简单的java对象,普通的java类。

  (b‘) POJO 实际意义是普通的JavaBeans(最简单的java类,即一个类只有属性,然后一大堆set,get和tostring方法)

  (c‘) POJO 的特点是支持业务逻辑的协助类,不继承不实现不注释

  JavaBean介绍:

  (a‘)JavaBean 是POJODE的Serializable(序列化),它通常是被容器创建(如tomcat),所以它应该具有一个无参数的构造器。同时它也是一种组件技术,不能跨进程访问。

  (b‘) JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器

  (c‘)JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,set和get方法获取。

  (d‘)众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制发现和操作这些JavaBean 的属性。

(f).在查询情况下,可通过Session对象生成一个Query对象,然后利用Query对象执行查询操作;若无异常,Transaction对象将提交这些操作到数据库中,若出现异常,则会回滚。

3.Hibernate项目分层结构:

从比较流行的MVC模式中将Hibernate可以分为如下几个层次

数据层:指数据库的设计

DAO层:DAO(Data Access Object)数据访问对象。DAO层的提出是为了实现把对数据的操作和对业务的操作分离,DAO层直接为上层业务逻辑层提供访问数据的接口。(DAO层比较重要)

业务逻辑层:这里把业务逻辑层封装成一个Service,直接供控制层调用。

控制层和视图层:可见层,采用jsp,Html,css,ajax等。

时间: 2024-10-25 22:20:41

Hibernate的初步的相关文章

Spring MVC + Hibernate的初步整合

今天突然想要做一个网站,打算采用SpringMVC(4.1.5.RELEASE)+Hibernate(4.3.8.Final)作为主要框架,来试试效果. 先贴出Maven的部分代码:                 <properties> <spring-version>4.1.5.RELEASE</spring-version> <hibernate-version>4.3.8.Final</hibernate-version>       

Hibernate初步部署

下载全套文件: hibernate-release-4.1.7.Final.zip 目录结构 Documentation文件夹下是开发帮助文档 Lib文件夹是开发使用的库,其中该文件夹下面的required目录是开发时必须导入的JAR文件: Project文件夹是项目源码文件 JDBC与Hibernate的比较: Hibernate的初步配置部署: 1.     创建web项目 2.     添加响应需要的Hibernate的jar包 3.     创建Java Bean业务实体类 4.    

Spring入门(四)— 整合Struts和Hibernate

一.Spring整合Struts 1. 初步整合 只要在项目里面体现spring和 strut即可,不做任何的优化. struts 环境搭建 创建action public class UserAction extends ActionSupport { public String save(){ System.out.println("调用了UserAction的save方法~~!"); } } 在src下配置struts.xml , 以便struts能根据请求调用具体方法 <

hibernate中缓存的初步认识

为什么实用缓存 目的是为了减少应用程序对物理数据源访问的次数,从而提高应用程序的运行性能. hibernate如果使用了缓存,在查询数据时,首先到缓存中去查找,如果找到就直接使用,找不到的时候就会从物理数据源中检索,所以,把频繁使用的数据加载到缓存区后,就可以大大减少应用程序对物理数据源的访问,使得程序的运行性能明显的提升. 查询时使用缓存的实现过程为:首先查询一级缓存中是否具有需要的数据,如果没有,查询二级缓存,如果二级缓存中也没有,此时再执行查询数据库的工作.要注意的是:此3种方式的查询速度

Hibernate技术(一)--Hibernate初步

Hibernate初步 ORM:在编写程序时,处理数据采用面向对象的方式,而保存数据却以关系型数据库的方式,因此需要一种能在两者之间进行转换的机制.这种机制称为ORM,ORM保存了对象和关系型数据库表的映射信息. Hibernate框架搭建 Hibernate3JAR包引入: antlr-2.7.6.jar 语言转换工具,实现HQL到SQL的转换 commons-collections-3.1.jar dom4j-1.6.1.jar 读写XML文件 hibernate3.jar 核心类库 hib

ssh(struts,spring,hibernate)开发的初步集成01--依赖

一.概念 SSH 通常指的是 Struts2 做前端控制器,spring 管理各层的组件,hibernate 负责持久化层. SSM 则指的是 SpringMVC 做前端控制器,Spring 管理各层的组件,MyBatis 负责持久化层. 二.构建流程 创建maven工程...在pom.xml文件中配置需要的依赖 <properties> <java-version>1.8</java-version> <junit-version>4.8.2</ju

hibernate初步2

Hibernate级联设计 数据库表之间的关系(主要关系有一对多.一对一.多对多)主要是从如下三个方面体现出来: 1.表体设计 2.实体类的设计 3.配置文件 以下是一些重要级联设计参数属性介绍: cascade级联操作,默认值为 none 1.none:只做级联查询 2.save-update:级联查询,级联插入和级联更新 3.delete:级联查询,级联删除 4.all:级联查询,级联插入,级联更新和级联删除 5.all-delete-orphan:基础主从表记录关系时,会把从表对应的记录一

hibernate初步

package cn.bdqn.test; import java.io.Serializable; import java.util.Iterator; import java.util.List; import java.util.Scanner; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transac

【笔记——hibernate】关于Hibernate 4.3.5的初步认识

连接数据库的一个框架,Orm框架的一种. 一.下载:http://hibernate.org/ 二.配置: 1.导入必须的包 hibernate-release-4.3.5.Final\lib\required(必须的jar) 如果需要时用annotataion的话,导入: hibernate-release-4.3.5.Final\lib\jpa(jap相关的jar) hibernate-release-4.3.5.Final\lib\jpa-metamodel-generator(jpa生成