当前位置:首页>开发>正文

什么是Hibernate框架以及ORM hibernate是个什么框架

2023-04-15 06:45:34 互联网 未知 开发

 什么是Hibernate框架以及ORM hibernate是个什么框架

什么是Hibernate框架以及ORM

框架是一个建筑学上的概念,但是用在程序这是什么意思呢?
什么是框架?
1.写程序,使用框架之后,帮我们实现一部分功能,少写一部分代码就能实现我们的功能。
什么是Hibernate框架?
1、Hibernate框架是应用在javaEE三层结构中的dao层框架。
2、在dao层里面做对数据库的增删改查操作,使用Hibernate框架实现增删改查操作。Hibernate底层就是jdbc,对jdbc的轻量级的封装,使用Hibernate不需要写复杂的jdbc代码。
3、Hibernate是开源的、轻量级的框架。
轻量级的框架:Hibernate不需要依赖其他的东西就可以直接使用。

Hibernate是使用ORM思想对数据库进行的增删改查操作。
什么是ORM?
ORM(Object/Relational Mapping):对象/关系映射

是通过使用描述对象和数据库之间映射的数据,将java程序中的对象自动持久化到关系数据库中;
本质上就是将数据从一种形式转换到另外一种形式。

利用面向对象思想编写的数据库应用程序最终都是把对象信息保存在关系型数据库中,于是要编写很多
和底层数据库相关的SQL语句。
但是写SQL语句的缺点:
①不同的数据库使用的SQL语法不同。
②同样的功能在不同的数据库中有不同的实现方式。比如分页SQL。
③程序过分依赖SQL对程序的一直及扩展,维护等带来很大的麻烦。

hibernate是个什么框架

HIbernate是一种ORM(Object Relation Mapping)就是对象关系映射,Hibernate可以轻松的把数据库中的表映射成我们类描述的对象(一般而言,一张表或者一个视图会对应程序中的一个类),这样在我们连接数据库的时候,可以像访问对象一样简单的访问数据库中的表,如果对对象进行修改,修改的结果Hibernate会自动帮你保存回数据库,你就不用组织SQL语句,和打开关闭数据库那么复杂的操作了。Hibernate提供的查询语句是HQL,是一种面向对象的查询方式,很简单。并且Hibernate会使你的程序与具体的数据库分开(一般情况下,不同的数据库提供的SQL语句是不完全相同的,具有数据库相关性)Hibernate通过方言的形式在配置文档中屏蔽了这种数据库的异构性。

Hibernate是用于什么的框架

我来简单说下吧!
HIbernate是一种ORM(Object Relation Mapping)就是对象关系映射,Hibernate可以轻松的把数据库中的表映射成我们类描述的对象(一般而言,一张表或者一个视图会对应程序中的一个类),这样在我们连接数据库的时候,可以像访问对象一样简单的访问数据库中的表,如果对对象进行修改,修改的结果Hibernate会自动帮你保存回数据库,你就不用组织SQL语句,和打开关闭数据库那么复杂的操作了。Hibernate提供的查询语句是HQL,是一种面向对象的查询方式,很简单。并且Hibernate会使你的程序与具体的数据库分开(一般情况下,不同的数据库提供的SQL语句是不完全相同的,具有数据库相关性)Hibernate通过方言的形式在配置文档中屏蔽了这种数据库的异构性。
简单说Hibernate方便了程序员对数据库的操作,同时屏蔽了数据库的异构性。
但是Hibernate不适合用于高性能的数据库,如果数据库的数据量大,访问频繁,需要性能优化,用Hibernate很显然不是一个很好的选择。因为通用的、简便的东西,性能肯定不行。

Hibernate开发过程很简单,Hibernate需要您指定一个对象关系映射文件,就是数据库中的哪个表,对应于程序中的那个类,表中的哪些字段对应于程序中类的哪些属性。这样Hibernate才能帮你完成映射。(以前用的是xml配置文档进行映射,现在多使用标注(annotation))。

Spring有两个核心技术,就是AOP面向切面编程,和IOC依赖注入。简单的说AOP就是切面编程,如果您想理解切面编程,您需要具备java设计思想中的代理思想。所谓代理,就是在一个对象中的方法执行前和执行后可以插入些业务处理之外的代码(主要是,日志、异常处理和session控制等)。这样,这些与业务无关的逻辑就可以单独编写,然后插入到那些需要的地方。想进一步了解AOP,请学习java的代理模式(动态代理模式)。IOC是依赖注入,这个是java的创建模式,(如果想深入了解依赖注入,请参考java的工厂模式)。实际Spring就是一个大的工厂,根据用户提供的xml(现在是标记annotation)配置文档,创建用户描述的对象,并完成对象间依赖关系的赋值,这就是IOC思想,如果您不明白,请参考工厂模式(静态工厂模式,工厂模式和抽象工厂模式)。

Struts实际上是MVC中的V就是View显示,M是modle一般由Hibernate提供,C是controller一般由Spring来提供。(我这里专门指SSH框架,别的框架MVC对应的也不同)。Struts的核心思想是过滤器,了解过滤器模式请看(责任链模式)。Struts实际上完成的功能有三个,一个是界面的显示,他提供了一些像html标记一样的标签。然后是过滤,将请求进行过滤,最后是制定请求提交和跳转的方向。

以上是个人观点,不保证权威!

最新文章

随便看看