大道至简SSH
文章平均质量分 90
本系列适合初学这对SSH(Struts1+Spring+Hibernate)框架快速的学习;讲解了Struts Spring Hibernate的原理,通俗易懂,快速上手。讲解了Spring如何控制Hibernate的事务,Spring如何DI到Hibernate和struts。
蓝精灵的自由宇宙
爱生活,生活爱你!
展开
-
Hibernate旅程(九)Hibernate缓存机制--查询缓存
Hibernate查询缓存我们介绍了Hibernate一级缓存,二级缓存。而hibernate二级缓存时针对Id查询的缓存策略,对于条件查询则毫无作用。因此hibernate提供了针对条件查询的QueryCache(查询策略)。下面来看session控制的查询缓存。一、查询缓存配置1、 在hibernate.cfg.xml中加入查询缓存原创 2014-03-13 15:27:37 · 3035 阅读 · 1 评论 -
Hibernate旅程(八)Hibernate缓存机制--二级缓存
Hibernate二级级缓存上篇介绍了Hibernate一级缓存,主要是session缓存,session生命周期结束,缓存也就结束。二级缓存相对于一级缓存来说是一个范围更广阔一些,就比你住的地方周围有多个小卖铺(session缓存),和一个大型超市,原料加工厂送货的时候送小卖铺一份的同时,必然送一份到超市。而给第二个小卖铺送一份的同时,也送给超市一份,这个超市就是我们的Session原创 2014-03-13 10:51:52 · 4191 阅读 · 0 评论 -
Hibernate旅程(七)Hibernate缓存机制--一级缓存
Hibernate一级缓存缓存就是你去小卖铺买东西,不用再去生产车间里买东西,当小卖铺倒闭了,也就是session缓存生命周期结束。hibernate一级缓存的声明周期很短,和session的生命周期一致,hibernate的一级缓存也叫做session级缓存,或叫事务级缓存。下面来看session控制的一级缓存。同一session中使用两次load()进行查询。代码入原创 2014-03-11 10:48:02 · 5444 阅读 · 11 评论 -
Hibernate旅程(六)Hibernate映射--继承映射
上篇主要讲述了hibernate的对象关系映射。本篇讲述对象继承关系是如何映射具体的表。 对于继承类映射到表有三种方式:1、一棵继承树映射一张表。2、每个子类各自映射表。3、继承树的每个类各自映射表。 一棵继承树一张表。直接上图,如下图所示。 映射文件代码如下所示。原创 2014-03-10 22:35:21 · 3427 阅读 · 3 评论 -
Hibernate旅程(五)Hibernate映射--基本类映射和对象关系映射
回想一些我们在没有学习ssh的时候,我们建立数据库的表时,首先是数据库建模E-R图,然后再通过实体模型来建立关系模型,再建立相应的表。实体间存在三种关系,一对一,一对多(或者说多对一),多对多。而如今我们要根据类来映射相应的表,那只能是通过类与类之间的关系加上映射文件来映射数据库的表。我们学习UML建模,类与类之间存在五种关系,继承,实现,关联,依赖,聚合/组合,在hibernate中实体类之间的原创 2014-03-10 10:40:19 · 18464 阅读 · 10 评论 -
Hibernate旅程(四)Hibernate对数据库删除、查找、更新操作
上篇,我们以向数据库添加操作来演示hibernate持久化对象的三种状态。本节继续hibernate对数据库的其他操作,删除、查询、修改。Hibernate对数据删除操作删除User表中个一条数据,是需要更具User表的主键id值来删除的。首先根据id值向数据库中查询出来对应的对象。可以采用两种方式一是session的get方法,一个是session的load方法。Session的Ge原创 2014-02-14 09:44:11 · 71549 阅读 · 11 评论 -
Hibernate旅程(三)Hibernate持久化对象的三个状态
Hibernate中的对象有3中状态,瞬时对象(TransientObjects)、持久化对象(PersistentObjects)和离线对象(DetachedObjects也叫做脱管对象)。下图3.1显示了瞬时对象、持久化对象和离线对象之间的关系以及它们之间的转换。图3.1临时状态:由java的new命令开辟内存空间的java对象也就是普通原创 2014-02-13 21:57:17 · 31358 阅读 · 9 评论 -
Hibernate旅程(二)Hibernate实例
上篇大概的介绍了Hibernate框架,本篇一个简单的hibernate例子来学习。Hibernate配置(1) 创建自己的java项目。(2) 向自己的项目中添加Hibernate的相关的jar,我们可以创建自己的UserLibrary,这样就直接加入这个依赖包就可以了(如图2.1图2.2)。图2.1图2.2需要添加上的jar包原创 2014-02-13 19:28:25 · 8248 阅读 · 3 评论 -
Hibernate旅程(一)Hibernate架构概述
Hibernate引出曾学过三层架构,三层分别为界面层、业务逻辑层、数据持久层。在javaweb中,界面层和业务逻辑层可以使用struts框架来封装一些常用的操作。而在我们的数据持久层中,对数据库的增删改查,我们经常要手动的控制事务,各种sql语句查询,各种参数传递,无论是对哪个表操作使用的均是同一种思路进行操作的。既然是同一种思路,那就是重复的东西了。而且我们还要和关系型数据库打交道,而不单原创 2014-02-13 19:13:29 · 10651 阅读 · 2 评论 -
Struts旅程(六)Struts页面转发控制ActionForward和ActionMapping
上篇讲述了struts控制器Action和DispatchAction以及LookupDispatchAction,本篇主要说说struts中的页面转发控制,struts提供了ActionForward和ActionMapping两个类来控制页面转发。ActionForward在使用struts框架开发web应用程序时,Action在完成用户逻辑处理后,需要把处理结果展示给用户,这个时候就原创 2014-02-12 18:07:17 · 16731 阅读 · 8 评论 -
Struts旅程(五)struts控制器DispatchAction
上篇演示了struts框架的由来,从而体现struts框架优点。Struts中的表单处理器为ActionForm,而struts中的控制器主要是Action,以及DispatchAction控制器等。Action在struts中,所有的用户都会经过ActionServlet的处理,而实际的工作是交给Action对象来处理的,ActionServlet可以从配置文件中创建ActionMapp原创 2014-02-10 07:58:06 · 14613 阅读 · 5 评论 -
Struts旅程(四)MVC向struts MVC框架演变过程
上篇我们以登录为例讲解了struts配置,实现了使用struts框架进行登录的示例。一些名词已经在脑海中飘荡了。上一篇提出了问题,使用Struts框架比不使用struts框架的好处在哪里的问题。以及由此讲述了静态ActionForm和动态ActionForm。本篇就第一个问题,以一个示例对用户信息的增删改查来展示基本的MVC框架到strutsMVC的过程。版本一:首先是创建一个jsp索原创 2014-02-10 07:57:45 · 9940 阅读 · 3 评论 -
Struts旅程(三)Struts表单处理器ActionForm(静态动态)
上篇我们以登录为例讲解了struts配置,实现了使用struts框架进行登录的示例。一些名词已经在脑海中飘荡了。ActionServlet:struts的控制器,负责截取URL或分发。提供Model(模型层)和View(视图层)使用,因此可将它看作是模型和视图之间的中介。ActionForm:用于封装用户的请求参数,而请求参数是通过JSP页面的表单域传递过来的。Action:用户请求和原创 2014-02-10 08:00:43 · 13649 阅读 · 8 评论 -
struts旅程(二)Struts登录示例
1、jar包拷贝:首先是建立java web项目,之后打开我们我们下载好strtus框架,在bin文件夹中的lib文件中拷贝struts的jar包,拷贝到我们自己项目的lib文件夹下。2、web.xml文件配置:找到struts中bin-->webapps下的struts实例中的web.xml文件,复制web.xml文件中对ActionServlet的配置,粘贴到我们的项目的web.x原创 2014-02-10 07:56:23 · 31993 阅读 · 19 评论 -
Struts旅程(一)Struts简介和原理
struts简介Struts是Apache软件基金会(ASF)赞助的一个开源项目。它最初是jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。它通过采用JavaServlet/JSP技术,实现了基于JavaEEWeb应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品。Struts发展历史Struts是作为ApacheJakarta项目的组成部分,原创 2014-02-10 07:55:36 · 108259 阅读 · 26 评论 -
SSH旅程(六)Spring和struts结合(方案一)
Spring和struts结合.上篇中把spring应用到hibernate中,本篇中把spring应用到struts中,首先复习一下struts基础知识。Struts旅程(一)Struts简介和原理struts旅程(二)Struts登录示例Struts旅程(三)Struts表单处理器ActionForm(静态动态)Struts旅程(四)MVC向struts原创 2014-04-02 10:04:03 · 3242 阅读 · 1 评论 -
SSH旅程(五)Spring运用到Hibernate中
Spring和hibernate结合.单纯Hibernate程序1、 首先是导入hibernate的jar包,步骤见http://blog.csdn.net/lovesummerforever/article/details/19170795,导入hibernate相关jar包。2、 建立用户和用户操作记录实体,Log.java和User.jav原创 2014-04-01 14:09:46 · 3874 阅读 · 2 评论 -
Spring旅程(四) AOP--Spring AOP实例
上篇讲述了Spring的AOP原理,本篇将上篇中使用的动态代理解决独立服务的问题用SpirngAOP来实现。采用配置文件的方式。1、 导入相应的Spring jar包。2、 在SpringIOC中的步骤123中已经给出。3、 将横切性关注的问题模块化,建立安全处理类。在SecurityHandler类中写我们的独立方原创 2014-03-31 16:20:10 · 6303 阅读 · 9 评论 -
Spring旅程(三) AOP--Spring AOP容器基础
上篇讲述了Spring的IOC原理和使用,本篇讲述Spring对AOP的支持。首先回顾一下Spring IOC容器,用一种通俗的方式理解Spring的IOC,也就是家里要安装灯泡,去网上买,我们只需要去下订单就(ApplicationContext.xml)可以了,无需关心工厂是如何加工的,你想要灯泡发红的光就直接在选择的时候选择红光,如果想要发黄色光的就直接选择发黄色光的灯牌,之后生成订单后原创 2014-03-31 14:18:23 · 7648 阅读 · 1 评论 -
Spring旅程(二)非Spring向Spring过渡-- Spring IOC容器的使用
上一篇我们以一个简单的例子讲述了Spring的由来,上篇中UserManager调用Dao的时候需要自己去实例化具体的Dao,或者通过工厂创建相应的Dao,最终还是客户端自己去实例化具体的UserManager,UserManager自己去拿到工厂,工厂自己去创建相应的Dao。而Spring框架封装了这创建过程,不再是我们自己手动去new,而是交给Spring的IOC容器去做这件事情,他自己(Sp原创 2014-03-31 09:35:14 · 6708 阅读 · 6 评论 -
Spring旅程(一)为什么使用Spring
Spring框架Spring有春天、弹簧、跳跃和泉眼的意思。Spring是一个开源的框架,是为了解决企业应用程序开发复杂性由RodJohnson创建的。虽然Spring是为企业级应用推出的,但是所有的java系统开发都可以使用Spring,包括桌面应用程序和企业级Web应用。Spring总不是凭空而出现的,任何框架也是,前面我们所说的struts和hibernate都有他出现的原因,以及是哪些原创 2014-03-29 16:27:32 · 14632 阅读 · 2 评论