SSH学习(八)hibernate基本概念和体系结构

SSH学习(一)—— 基础概念篇 一、前言 最近有个小面试需要复习以前用到的SSH框架,忘得差不多了当然当时也差不多就是不会的状态,现在花了三四天的时间进行一个简单的学习,总结一些概念性的东西放在这儿。 二、参考链接 ssh框架:https://baike.baidu.com/item/ssh%E6%A1%86%E6%9E%B6/8882453?fr=aladdin SSH三大框架的概述:https://blog.csdn... 阅读详情

原文来自搬砖工,如需转载请注明出处

Java基础专栏请戳这里http://blog.youkuaiyun.com/column/details/14176.html

博主SSH框架专栏请戳这里http://blog.youkuaiyun.com/column/details/14227.html



数据库操作是当今传统应用软件不可缺少的一部分,几乎所用的应用性系统和交互性软件都离不开数据库的支持,所以对数据库数据库的操作也是一个必不可少的工作,在Java的世界里,传统的数据库访问就是jdbc数据库访问,刚开始学习的时候应该还能满足我们的需求,但真正在实际应用中,其繁琐的操作,开发效率低效,代码冗余等不可避免的缺点也是大家有目共睹的,所以,一套高效简便的数据库访问框架在这种繁琐工作中诞生了,这就是我们如今java世界里风靡全球的hibernate框架(这个应该不夸张吧),所以从今天开始,我和大家就一起进入hibernate的复习。

Hibernate百度名片:

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

从上边百度名片中,我们可以看出:

1)         其实hibernate底层依然是jdbc实现的,只不过jdbc的繁琐操作都让框架来替我们做了,程序员已经从繁琐的jdbc操作中解脱出来了。

2)         Hibernate是一个对象关系映射模型,也就是说,它主要操作的是对象和关系之间的映射,对象,即为我们java中类的对象,只不过类一般是一些实体类

3)         Hibernate不仅仅是在web上的应用框架,这是很多初学者的任务,认为hibernate只是用在web开发中的。其实这是一个很错误的观点

持久化:

       上面我们看出hibernate主要完成的是一个数据持久化的重任,很多人应该想了,这个,持久化是什么啊?下面我们就来说一下这个持久化:持久化是将程序数据在持久状态和瞬时状态间转换的一种机制,持久化的主要应用是将内存中的对象存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。

(1)瞬时状态(transient)

保存在内存中的数据。程序退出后,数据就消失了。

(2)持久状态(Persisten)

 

      在一定周期内保持不变就是持久化,持久化是针对时间来说的. 数据库中的数据就是持久化了的数据,只要你不去删除或修改. 比如在IE浏览器中一次Session会话中Session对象变量也是不变的,是Session容器中持久化 ,对象持久化的方式有很多种,根据周期不同有,page,Session,Application,

   hibernate为应用程序提供了高效的O/R关系映射和查询服务,为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。他也是对对象持久化一个很好的实现。简单示例一下:

                                              

 

对象关系映射

        从上边我们可以看出,Hibernate是一个开放源代码的对象关系映射框架,对象/关系数据库映射(object/relational mapping(ORM))这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据库结构中去。ORM,即Object- Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的 SQL语句打交道,只要像平时操作对象一样操作它就可以了。 对象关系映射(ORM)提供了概念性的、易于理解的模型化数据的方法。ORM方法论应当基于三个核心原则: 
        
简单:以最基本的形式建模数据。 
        
传达性:数据库结构被任何人都能理解的语言文档化。 
        
精确性:基于数据模型创建正确标准化了的结构。 

 

下面我们就一起来认识一下hibernate,Hibernate能做什么?

Hibernate能帮助我们利用面向对象的思想,开发基于关系型数据库的应用程序

第一:将对象数据保存到数据库

第二:将数据库数据读入对象中

 

Hibernate体系结构:

一个非常简要的Hibernate体系结构的概要图:

                                                   

从这个图可以看出,Hibernate使用数据库和配置信息来为应用程序提供持久化服务(以及持久的对象)。

我们来更详细地看一下Hibernate运行时体系结构。由于Hibernate非常灵活,且支持多种应用方案,所以我们这只描述一下两种极端的情况。“轻型”的体系结构方案,要求应用程序提供自己的JDBC 连接并管理自己的事务。这种方案使用了Hibernate API的最小子集:

                                                    

“全面解决”的体系结构方案,将应用层从底层的JDBC/JTA API中抽象出来,而让Hibernate来处理这些细节。

 

好了,hibernate基本概念和体系结构就先介绍到这,下一篇博客我将会和大家一起来开发我们的第一个hibernate应用程序,谢谢大家支持。

SSH整合与Hibernate注解实战指导 Struts框架是Apache软件基金会的一个项目,是一个基于MVC设计模式的Web应用框架。在SSH(Struts+Spring+Hibernate)框架组合中,Struts作为表现层(View)的主要组成部分,负责接收用户请求并将响应返回给客户端。Struts通过XML配置文件和JavaBean组件来处理Web应用中的业务逻辑,简化了基于Java的Web应用开发。Struts的核心是ActionServlet,它作为整个Struts框架的控制器,负责调用应用的业务逻辑组件。 阅读详情

相关推荐

逆向工程师视角:拆解DataDome滑块验证码的3层防护机制与绕过思路

本文从逆向工程师视角,深入剖析DataDome滑块验证码的三层核心防护机制。第一层通过动态加密参数实现会话绑定与抗重放;第二层采集TLS指纹、鼠标轨迹动力学等多维行为数据进行一致性验证;第三层则是基于机器学习的后端异步风险决策引擎。文章不仅拆解了其技术原理,更分享了模拟、钩取等超越单纯工具调用的底层分析与绕过思路。

f6g7h8i9j的博客 730

Java程序员从笨鸟到菜鸟之(五十)细谈Hibernate(一)hibernate基本概念和体系结构

数据库操作是当今传统应用软件不可缺少的一部分,几乎所用的应用性系统和交互性软件都离不开数据库的支持,所以对数据库数据库的操作也是一个必不可少的工作,在java的世界里,传统的数据库访问就是jdbc数据库访问,刚开始学习的时候应该还能满足我们的需求,但真正在实际应用中,其繁琐的操作,开发效率低效,代码冗余等不可避免的缺点也是大家有目共睹的,所以,一套高效简便的数据库访问框架在这种繁琐工作中诞生了,这

xo_zhang的专栏 761

DeepLearning tutorial(7)深度学习框架Keras的使用-进阶

上一篇文章总结了Keras的基本使用方法,相信用过的同学都会觉得不可思议,太简洁了。十多天前,我在github上发现这个框架的时候,关注Keras的人还比较少,这两天无论是github还是微薄,都看到越来越多的人关注和使用Keras。所以这篇文章就简单地再介绍一下Keras的使用,方便各位入门。主要包括以下三个内容: 训练CNN并保存训练好的模型。 将CNN用于特征提取,用提取出来的特征训练SVM。

wepon的专栏 2万+

Hibernate体系结构

Hibernate体系结构简介

rglkt的博客 1339

Unity获取透明物体深度数据

Unity获取透明物体深度数据前言透明&景深需求模型透明度部分带透明通道图片/视频部分半透明模型获取深度的具体实现方法带透明度图片/视频获取深度的具体实现方法结束语 前言 最近在做的项目有很多奇怪的需求,甚至之前在unity里用插件写了一个类似于蓝图的行为树插件,之后有时间给大家讲一讲相关的实现方法,今天刚解决了unity里透明物体无法获得深度数据的问题。所以分享给大家。 透明&景...

可以吃的妙脆角的博客 2631

从零开始:使用Python实现基于深度强化学习的柔性车间调度系统

本文详细介绍了如何使用Python和深度强化学习(DRL)构建柔性车间调度系统,特别关注图神经网络(GNN)与近端策略优化(PPO)算法的结合应用。通过实战指南,读者将学习从环境准备、异构图构建到PPO算法实现的全流程,最终实现生产效率的显著提升。

weixin_29074295的博客 244

Hibernate 入门之Hibernate简介和体系结构(一)

Hibernate 是一种框架,不过它是不同于 Struts。Xwork等的MVC框架,它是一种ORM框架,与各种数据库,SQL语句打交道,是数据持久化的一种解决方案。      Hibernate 是ORM框架,全称为Object-RaltiveDatabase-Mapping,在java对象与关系数据库之间建立某种映射,以实现存取java一般对象。  ORM的概述 在商业化的开发中,数据

王通礼的博客专栏 5324

电磁波函数复数表示法:为什么物理学家偏爱e^(ikz)而非cos(kr-wt)?

本文深入解析了电磁波函数复数表示法(如e^(ikz))相较于传统余弦形式的巨大优势。通过欧拉公式,复数形式将复杂的三角运算转化为简洁的指数运算,在微分、积分、线性叠加及处理相位时展现出极高的计算效率,是物理学家和工程师分析波动现象的核心工具。

weixin_29094539的博客 498

Hibernate体系结构(入门)

Hibernate通过持久化对象(PO)这个媒介来对数据库进行操作,底层数据库对于应用程序来说是透明的。 Hibernate将应用程序从原始的JDBC访问中释放出来,应用程序无需关心JDBC操作、底层数据库连接、数据库访问实现、事务控制,而是直接以面向对象方式进行持久层的操作。 Hibernate简要体系结构: 其中hibernate.propertie...

不自律不成魔 静心 精进 241

基于Cadence IC617的共源级放大器设计:从直流到交流的virtuoso仿真实践

本文详细介绍了使用Cadence IC617的Virtuoso平台进行共源级放大器设计的完整仿真流程。从电路图绘制、直流工作点分析,到负载电阻RD的参数扫描及其对增益和带宽的影响,再到交流小信号频率响应仿真,提供了从理论到实践的全面指导,帮助初学者掌握模拟集成电路设计的核心仿真技能。

jj890的博客 478

fasterlio原理及代码框架梳理

Faster-LIO 的优势是在保持同等高精度的前提下,显著提升计算效率,以支持更极端的应用场景(如高速无人机)和更廉价的硬件平台。可以把 Faster-LIO 理解为用一把更快的“空间哈希筛子”(iVox)替换了原来精细的“动态平衡树”(ikd-Tree),从而在精度损失极小的情况下,实现了效率的显著提升。:只在实际有地图点的空间区域动态创建和保留体素单元,形成一个稀疏的体素地图。是关键:将去畸变点云中的每个点,在 iVox 维护的局部地图中搜索近邻(如5个最近点),构建点到面的距离残差。

Studying…… 246

Hibernate核心思想—ORM机制(一)

hibernate是一个采用ORM(Object/Relation Mapping对象关系映射)机制持久层的开源框架 其主要核心思想是面向对象,而非面向过程,而这个面向对象则主要通过ORM实现。 ORM是将表与表之间的操作,映射成对象和对象之间的操作,就是通过操作实体类来达到操作表的目的。从数据库提取的数据会自动按你设置的映射要求封装成特定的对象。之后你就可以通过对对象进行操作来修...

huobengluantiao8 330

【Burp入门第三十三篇】BurpSuite+Proxifier安装配置,实现微信小程序抓包

本文介绍Burp+Proxifier安装配置,实现微信小程序抓包

等风来 5873

SSH框架搭建和整合(struts2、spring4、hibernate5)

声明:  本博文是个人通过对ssh框架的学习、理解还有一些看法而描述出来的,可能有不足之处,请大家谅解,但希望能帮助到大家! 目的: 使初学者能更好的去了解SSH框架。 给以后的自己,也给别人一个参考。 尝试搭建一个完整的SSH框架项目。 一、SSH三大框架的概述   ssh为 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web...

weixin_30820077的博客 5078

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Hibernate在SSH项目中的应用

Hibernate的应用(包括关联关系的映射和HQL等)可以参考其在线文档:http://docs.jboss.org/hibernate/core/3.6/reference/zh-CN/html/Hibernate打破了以往先建立好表在创建实体类的传统方式,hibernate

指尖思维 2994

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

SSH学习之——Spring、Struts和Hibernate整合开发

一、环境 1、测试平台:MyEclipse8.5/JDK1.7(1.5以上都OK) 2、开源框架:Spring3.0/Struts2.1/Hibernate3.3 3、UI界面:HTML/JSP/struts2标签   二、具体步骤 1、新建Web项目,此处命名为“ssh” 2、添加Spring的支持。        1)利用平台自身带有的Spring支持(如果熟悉各个库的作用以及

jeff's blog 2974

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【Java编程】SSH:Struts、Spring、Hibernate

SSH 框架指的是 Struts、Spring 和 Hibernate 三者的集成。集成 SSH 框架的系统从职责上分为表示层、业务逻辑层、数据持久层和域模块层。Struts 属于 MVC 框架的一种,提供了对 MVC 系统底层的支持,负责 MVC 的分离,在 Struts 框架的模型部分,控制业务跳转,利用 Hibernate 框架对持久层提供支持,Spring 则管理 Struts 和 Hibernate。

Data · Model · Agent · Repeat 1305

java ssh框架 struts spring hibernate 简介

目录 什么是SSH框架 浅谈Struts 什么是Struts Struts的核心构成 为什么使用Struts 浅谈Hibernate 什么是Hibernate Hibernate的核心构成 浅谈Spring 为什么使用Spring 什么是SSH框架 官方的说法:SSH是 struts+spring+hibernate的一个集成框架,是目前较流行的一种web应用程序开源框架。 SSH不是一个框架,而是把多个框架(Struts、Spring以及Hibernate)紧密的结合在一起.

whatday的专栏 1752

SSH之Hibernate

SSH包括三个:Spring + Strurs2 +Hibernate Hibernate框架用于帮助我们完成数据库操作。取代了dao层中的JDBC和DBUtils Hibernate以面向对象的形式来完成,不需要书写SQL语句,操作的对象也都是通过自己写的实体类 在使用Hibernate框架之前需要配置ORM;对象关系映射,配置类与表之间的关系 Hibernate框架的搭建分为6步 第一步导包...

l245000099的博客 330

SSH之Hibernate学习 查询

SSH数据库操作之查询 该种方式可以直接使用参数进行获取,可实现模糊查询 public static List<Books> getListByName(String name){ Session session=getSession(); //编写HQL语句 String sql="from Books as book where book.name like'%"+na...

pengxiang1998的博客 216

SSH框架学习总结

SSH框架学习总结 最终版权:JDram314 如转载请贴出出处!                本来对SSH框架的学习可以早在去年,但是一直在给老师弄他的科研部分,所以一直拖到最近才算是学完了。乘现在有空总结一下,方便以后复习。          一、Struts

JDream314的专栏 1万+

【SSH】泛泛谈SSM和SSH

最近在学SSH,但突然看到了SSM,感觉两者很相似,于是就开始打破砂锅问到底,网上找了很多资料,但是由于本人对SSM的认识只存在于理论上,所以就泛泛的谈论下自己对这两个java框架的认识,做一个小总结。       记得很久前看到一个标题,名为“MVC已死”,说的MVC这种思想已经有一些不适应了,新的模式MOVE,正在茁壮成长,MOVE指即Models(模型)、Operations(操作

一支穿云箭 1万+

SSH的基本概念

SSH框架简介:         SSH为struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。〖建议对照图片阅读〗         1.集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC

daniel_fei的博客 1177

JavaEE学习笔记之SSH—Hibernate(1)

Hibernate介绍Hibernate是一个开放源代码的对象关系映射框架(ORM),它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CM

minigeek的博客 4513

SSH与SSM学习之SSH整合05——单独配置Hibernate

SSH与SSM学习之SSH整合05单独配置Hibernate 一导入实体类的配置 二配置hibernatecfgxml 三测试 1 测试代码 2 运行结果与图示 四源码下载SSH与SSM学习之SSH整合05——单独配置Hibernate一、导入实体类的配置这一部分的配置可以使用之前代码的。获取查看如下地址的https://github.com/wimingxxx/ssh_crm/tree/maste

qiwenmingshiwo的专栏 369

Java--SSH,SSM和Spring Boot框架区别优缺点

一、SSH(Struts + Spring + Hibernate) 1、基本概念 SSH框架是JAVA EE中三种框架所集成,分别是Struts,Spring,Hibernate框架所组成 集成SSH框架的系统从职责上分为(Struts2--控制;spring--解耦;hibernate--操作数据库),以帮助开发人员在短期内搭建结构清晰、可服用好、维护方便的web应用程序。使用Struts作为系统的整体基础框架,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用hibernate框

MinggeQingchun的博客 5367
上一篇: CSS基础积累总结(上)
下一篇: SSH学习(九)第一个hibernate程序
海之沐
博客等级 码龄12年 1536粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值