基于J2EE的SSH
整合应用及操作示例二(CRUD操作及配置)
原创作品,允许转载,转载时请务必以超链接形式标明文章
原始出处
、作者信息和本声明。否则将追究法律责任。
http://gaochaojs.blog.51cto.com/812546/210131
CRUD
是指在做计算处理时的增加
(Create)
、查询
(Retrieve)
(重新得到数据)、更新
(Update)
和删除
(Delete)
几个单词的首字母简写。主要被用在描述软件系统中数据库或者持久层的基本操作功能。
In computing, CRUD is an acronym for create, retrieve, update, and delete. It is used to refer to the basic functions of a database or persistence layer in a software system.
C reate new records
R etrieve existing records
U pdate existing records
D elete existing records.
在响应新增部门请求中,通过导入
Struts
的配置文件
(struts-config.xml)
来完成业务流程的部署。它把
depAdd.jsp
和
depAdd.do
连接起来。
depAdd.jsp
上产生客户请求,
depAdd.do
则对请求产生响应、处理
jsp
页面上的数据。当点击
depAdd.jsp
上的保存按钮
</div>)
先检查页面数据的正确性,校验通过后将输入数据用
Set
方法存入到
userinfoForm
这个
FormBean
中。
然后根据
struts-config.xml
调用
depAdd.do (
这将在
Spring
配置文件中指定相应的
Action)
进行业务处理。在
depAdd.do
中页面数据将从
userinfoForm
中读取。
depAdd.do
执行成功后将显示
/ok.jsp
页面。
depAdd.do
对应的
Action (DepAddAction)
在
Spring
的配置文件
(applicationContext.xml)
中指定。要把
depAdd.do
和
DepAddAction
对应起来
,
首先要在
struts-config.xml
中配置
Delegating RequestProcessor
。其次,需要在
application Context.xml
中定义名字为“
/depAdd
”的受管
JavaBean
。每次对
DepAddAction
请求时,
Delegating Request Processor
将充当代理。同时,
DepAddAction
使用到受管
Java Beansm Service
。要使用
UserinfoService
,需要在
DepAddAction
中生成
UserinfoService
的
get()
、
set()
方法,并且
application Context.xml
中对“
/depAdd
”进行
Dep Add Action
的依赖注入。因为
DepAddAction
并没有直接去操作数据访问
Userinfo DAO
。而是通过调用业务逻辑层
UserinfoService
中的方法来实现业务逻辑的。
DepAddAction
中部分代码如下:
userinfoService.save(userinfo);
如果
depAdd.do
要对应另一个
Action
,则只要修改
applicationContext.xml
即可,这将有利于系统的更新。同样,如果另一个
.do
要对应
DepAddAction
,也只要在
applicationContext.xml
中配置即可,这将有利于代码的重用。在本系统中,
Hibernate
和
Spring
共用一个配置文件
applicationContext.xml
。
Hibernate
从
applicationContext.xml
中读取和数据库有关的信息。数据库信息包括数据库连接、与数据库结构相对应的映射文件。在新增部门请求中,涉及到的数据库表为
userinfo
表,它所对应的映射文件为
Userinfo.hbm.xml
。为了访问数据库表
userinfo
,只有
Userinfo.hbm.xml
映射文件是不够的,还需要数据访问类
UserinfoDAO
、数据类
AbstractUserinfo,Userinfo
。数据类
Userinfo
的实现较为简单,它只是
Java
对象与数据库表之间的对应,主要用于在各应用层间传递数据,在它的基础上要实现的就是数据访问类
UserinfoDAO
。系统在生成
UserinfoDAO
的同时,也将
UserinfoDAO
作为
JavaBean
配置到
applicationContext.xml
中。
UserinfoDAO
中是对
userinfo
表进行保存、查询、删除或修改等基本数据操作,在
applicationContext.xml
中需要
userinfoService
进行
UserinfoDAO
及其代理的依赖注入。这样做,使得当
UserinfoDAO
变化时,只需修改
applicationContext.xml
给
userinfoService
实现新的注入,指向新的实现就可以了,由此解除了数据访问层和业务层的紧密耦合。数据访问类
UserinfoDAO
继承于辅助类
Hibernate-DaoSupport
,借助于
getHibernateTemplate()
获得对
Hibernate
资源的操作,极大的方便了
Hibernate
框架的使用。在
UserinfoDAO
中定义了对数据库表
userinfo
的操作函数。如下面代码,即是
UserinfoService
中调用的
saveData
方法。
}
部门添加模块中
applicationContext.xml
中的代码如下:
…
在本项目的开发过程中运用这样的技术方法大大提高了开发效率、增加了程序的可读性、减少了模块间的耦合性,这样使得系统更加容易更新和维护。