`

SSH总结

    博客分类:
  • J2EE
阅读更多

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

原理

hibernate,通过对jdbc进行封装,对 java类和 关系数据库进行mapping,实现了对关系数据库的面向对象方式的操作,改变了传统的jdbc + sql操作数据的方式,从而使开发人员可以话更多精力进行对象方面的开发 

1.读取并解析配置文件 

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

3.打开Sesssion 

4.创建事务Transation 

5.持久化操作 

6.提交事务 

7.关闭Session 

8.关闭SesstionFactory 

为什么要用: 

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

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

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

什么是Hibernate延迟加载? 

延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在Hibernate中提供了对实体对象的延迟加载以及对集合的延迟加载,另外在Hibernate3中还提供了对属性的延迟加载。

Hibernate中类之间的关联关系有几种?(如:一对多、多对多的关系) 

  many-to-one、one-to-many、many-to-many、 one-to-one

说下Hibernate的缓存机制 

一、hibernate一级缓存

(1)hibernate支持两个级别的缓存,默认只支持一级缓存;

(2)每个Session内部自带一个一级缓存;

(3)某个Session被关闭时,其对应的一级缓存自动清除;

二、hibernate二级缓存

(1) 二级缓存独立于session,默认不开启;

Hibernate的查询方式 

本地SQL查询、Criteria、Hql

如何优化Hibernate? 

1.使用双向一对多关联,不使用单向一对多 

2.不用一对一,用多对一取代 

3.配置对象缓存,不使用集合缓存 

Struts工作机制?为什么要使用Struts? 

工作机制: 

Struts的工作流程: 

在web应用启动时就会加载初始化ActionServlet,ActionServlet从 

struts-config.xml文件中读取配置信息,把它们存放到各种配置对象 

当ActionServlet接收到一个客户请求时,将执行如下流程. 

    -(1)检索和用户请求匹配的ActionMapping实例,如果不存在就返回请求路径无效信息; 

    -(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中; 

    -(3)根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm的validate()方法; 

    -(4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActuibErrors对象, 就表示表单验证成功; 

    -(5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的                    Action实例不存在,就先创建这个实例,然后调用Action的execute()方法; 

    -(6)Action的execute()方法返回一个ActionForward对象,ActionServlet在把客户请求转发给 ActionForward对象指向的JSP组件; 

    -(7)ActionForward对象指向JSP组件生成动态网页,返回给客户; 

为什么要用: 

1. JSP、Servlet、JavaBean技术的出现给我们构建强大的企业应用系统提供了可能。但用这些技术构建的系统非常的繁乱。

2. 基于Struts开发的应用:

不用再考虑公共问题

专心在业务实现上

结构统一,易于学习、维护

新手也可写出好程序 

为什么要用spring? 

Spring是一个轻量级的IOC和AOP框架。

  IOC(控制反转)意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。这称为控制反转

  AOP(面向切面),它将那些影响多个类的行为封装到可重用的模块中,面向对象是把问题从同类事物中抽象出来,面向切面是把问题从不同类问题中抽象出来。

1. hibernateget()load()区别

 请注意如果没有匹配的数据库记录,load()方法可能抛出无法恢复的异常(unrecoverable exception)。 如果类的映射使用了代理(proxy),load()方法会返回一个未初始化的代理,直到你调用该代理的某方法时才会去访问数据库。 若你希望在某对象中创建一个指向另一个对象的关联,又不想在从数据库中装载该对象时同时装载相关联的那个对象,那么这种操作方式就用得上的了。 如果为相应类映射关系设置了batch-size, 那么使用这种操作方式允许多个对象被一批装载(因为返回的是代理,无需从数据库中抓取所有对象的数据)。 如果你不确定是否有匹配的行存在,应该使用get()方法,它会立刻访问数据库,如果没有对应的行,会返回null。

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    oracle,ssh总结资料

    综上所述,"oracle,ssh总结资料"包含的是关于Oracle数据库、SQLServer数据库、Java编程以及JavaScript的基础知识和实践经验。这些技能对于一个Web开发者来说至关重要,能够帮助他们构建高效、稳定且用户友好的Web...

    北大青鸟 ACCP5.0 SSH总结

    【北大青鸟 ACCP5.0 SSH总结】 SSH(Struts+Spring+Hibernate)是Java Web开发中的一个经典组合,用于构建高效、可维护的Web应用程序。本篇将重点总结北大青鸟ACCP5.0课程中关于Struts框架的部分。 ### 1. Struts...

    SSH总结文档以及源码

    这篇文档将全面总结SSH框架的核心概念、配置及使用方法,并提供相关的案例分析。 首先,Spring框架是企业级应用的基石,它提供了一个全面的编程和配置模型,用于简化Java应用程序的开发。Spring的核心特性包括依赖...

    很有用的SSH总结文档

    SSH框架,全称为Struts+Spring+Hibernate,是Java企业级开发中常用的一种技术栈,主要应用于构建MVC模式的Web应用程序。SSH框架结合了Struts的视图控制,Spring的依赖注入和事务管理,以及Hibernate的对象关系映射...

    java的SSH框架总结.pdf

    总结来说,SSH框架结合了Struts的MVC模式、Spring的依赖注入和全面的后端解决方案,以及Hibernate的对象关系映射能力,为Java Web开发提供了一个强大、结构清晰的框架。这种框架模式有助于提高开发效率,降低维护...

    ssh框架错误总结

    SSH框架错误总结 SSH框架是基于Java的Web应用程序框架,广泛应用于企业级应用开发中。然而,在开发和调试过程中,经常会遇到各种错误和问题。本文总结了SSH框架常见的错误和解决方法,以便开发者快速解决问题,提高...

    SSH2框架整合总结

    这篇博客文章“SSH2框架整合总结”可能是关于如何在Java项目中集成和配置SSH2框架的详细指南。 在整合SSH2框架时,有几个关键知识点需要理解: 1. **SSH协议基础**:SSH是一种网络协议,用于加密网络连接,确保...

    SSH框架分析总结

    感觉还不错,所以供大家分享,针对SSH框架做了详细的解释,便于学习

    ssh学习总结知识.pdf

    总结来说,SSH框架虽然配置较为复杂,但通过解耦和模块化,能够提升开发效率和软件质量。随着Java生态系统的发展,现在出现了Spring Boot这样的框架,它简化了配置,集成了更多功能,降低了入门难度,成为了很多...

    SSH面试总结;超详细的SSH面试资料

    SSH面试总结; 超详细的SSH面试资料; 聚集N多网友SSH面试心得。。。

    SSH知识点总结

    SSH知识点总结,总结全面的SSH知识点,适合找工作的同学面试的时候问到的问题!

    ssh框架学习总结

    SSH框架是Java开发Web应用程序时常用的三大开源框架的组合,分别是Spring、Struts和Hibernate。它们各自负责不同的职责,共同构建了一个强大的MVC(Model-View-Controller)架构。 Spring框架是SSH的核心,它提供了...

    ssh架构个人总结.doc

    SSH 架构是一种在Java开发领域广泛使用的开源框架组合,由Struts、Spring和Hibernate三个组件构成,主要用于构建企业级的Web应用。Struts提供了控制层的功能,Spring负责业务逻辑和依赖注入,而Hibernate则作为数据...

    SSH开发框架总结

    SSH在J2EE项目中表示了3种框架,即 Spring + Struts +Hibernate。 Struts对Model,View和Controller都提供了对应的组件。Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,它由Rod Johnson创建。它是...

    SSH工作原理文档 总结报告

    **SSH工作原理文档总结报告** **一、SSH框架概述** SSH(Spring、Struts、Hibernate)是Java开发中广泛使用的三大开源框架,它们分别负责应用的业务层、表现层和持久层,共同构建了一个强大的MVC(Model-View-...

    SSH开发总结

    SSH开发总结主要涉及了三个主流的Java Web开发框架——Structs2、Spring4和Hibernate4的整合应用。这些框架一起构建了一个强大的后端开发环境,能够有效地管理应用程序的业务逻辑、持久化层以及用户界面交互。 1. *...

    ssh2开发整合个人总结

    SSH2 是一个集成框架,由 Struts、Spring 和 Hibernate 三个开源组件组成,常用于构建企业级的Java Web 应用程序。以下是关于 SSH2 开发整合的详细说明: 1. **Struts2**:Struts2 是一个基于 MVC(Model-View-...

    ssh集成 ssh集成

    **总结** SSH集成是现代IT基础设施中的重要组成部分,它提供了安全的远程访问和自动化操作手段。理解和掌握SSH集成,对于提升工作效率和系统安全性至关重要。无论是开发人员还是系统管理员,都需要熟练运用SSH集成来...

    SSH异常总结.doc

    SSH异常总结.doc SSH异常总结.doc SSH异常总结.doc

Global site tag (gtag.js) - Google Analytics