OA中项目关系,实体设计,映射实体,增删改查

简介: =============== 步骤 ================1,充分了解需求(包括所有的细节):分析页面等。2,设计实体/表 正向工程:设计实体 --> 建表(推荐):设计实体 --> JavaBean --> hbm.xml --> 建表 反向工程:设计表 --> 实体3,分析功能到每个请求的粒度。 得到的结果是我们需要处理多少种请求,每种请求对应一

=============== 步骤 ================

1,充分了解需求(包括所有的细节):分析页面等。
2,设计实体/表
 正向工程:设计实体 --> 建表(推荐):设计实体 --> JavaBean --> hbm.xml --> 建表
 反向工程:设计表 --> 实体
3,分析功能到每个请求的粒度。
 得到的结果是我们需要处理多少种请求,每种请求对应一个Action方法。
4,实现功能:
 1,创建Action,并定义出其中的方法。
 2,实现Action方法,并创建出所用到的新的Service方法。
 3,实现Service方法,并创建出所用到的新的Dao方法。
 4,实现Dao方法。
 5,创建并完成JSP页面。
5,单元测试与运行测试


========= 系统管理模块 ==========

增删改查 + 树状结构 + 表单验证。

 

========= 设计实体 ==========

1,有几个实体?
 一般是一组增删改查对应一个实体。
2,实体之间有什么关系?
 一般是页面引用了其他的实体时,就表示与这个实体有关联关系。
3,每个实体中都有什么属性?
 1,主键
 2,关联关系属性
  在类图中,关联关系是一条线,有两端,每一端对应一个表达此关联关系的属性。
  有几个端指定本类,本类中就有几个关联关系属性。
 3,一般属性:
  分析所有有关的页面,找出表单中要填写的或是在显示页面中要显示的信息等。
 4,特殊属性:为解决某问题而设计的属性。
  比如要显示年龄,但不能设计一个int age字段,而是一个Date birthday字段,年龄是显示时实时计算出来的。

 

 

========= 映射实体 ==========

1,写注释:
 格式为:?属性,表达的是本对象与?的?关系。例:<!-- department属性,本对象与Department的多对一 -->

2,拷模板:
 多对一:
  <many-to-one name="" class="" column=""></many-to-one>
 一对多(Set):
  <set name="">
   <key column=""></key>
   <one-to-many class=""/>
  </set>
 多对多(Set):
  <set name="" table="">
   <key column=""></key>
   <many-to-many class="" column=""></many-to-many>
  </set>

3,填空:
 name属性:属性名(注释中的第1问号)
 class属性:关联的实体类型(注释中的第2个问号)
 column属性:
  <many-to-one column="..">:一般可以写成属性名加Id后缀,如属性为department,则column值写成departmentId。
  一对多中的<key column="..">:从关联的对方(对方是多对一)映射中把column值拷贝过来。
  多对多中的<key column="..">:一般可以写成本对象的名加Id后缀,强本对象名为User,则写为userId。
  多对多中的<many-to-many column="..">:一般可以写为关联对象的名称加Id后缀。

 


================= 分析增删改查功能 ==================
增删改查共4个功能,6个请求,所以需要在Action中有6个对应的处理方法。

作用  方法名  返回值  页面
------------------------------------------
列表  list()  list  list.jsp
删除  delete() toList  actionName="roleAction_list" type="redirectAction"
添加页面 addUI()  addUI  addUI.jsp
添加  add()  toList
修改页面 editUI() editUI  editUI.jsp
修改  edit()  toList


    转发 重定向
--------------------------------
请求数   1  2
浏览器地址栏 不变 变

 

 

Action中添加功能的步骤:
 // 1,新建对象并设置属性(也可以使用model,但需要设置未封装的属性)
 // 2,保存到数据库

Action中修改功能的步骤:
 // 1,从数据库中取出原对象
 // 2,设置要修改的属性
 // 3,更新到数据库
 

客户端验证:JS
服务器端验证


 

目录
相关文章
|
存储 JavaScript 前端开发
会议OA项目之会议发布(详解)
会议OA项目之会议发布(详解)
97 0
|
JSON 小程序 前端开发
微信小程序进阶——Flex弹性布局&轮播图&会议OA项目(首页)
微信小程序进阶——Flex弹性布局&轮播图&会议OA项目(首页)
151 0
|
JavaScript Java 关系型数据库
ssm+vue的OA办公管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。
ssm+vue的OA办公管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。
|
JavaScript Java 关系型数据库
Springboot+vue的企业OA管理系统(有报告),Javaee项目,springboot vue前后端分离项目。
Springboot+vue的企业OA管理系统(有报告),Javaee项目,springboot vue前后端分离项目。
|
BI 数据安全/隐私保护 UED
以产品经理的角度去讲解原型图---会议OA项目
以产品经理的角度去讲解原型图---会议OA项目
109 1
|
JavaScript 应用服务中间件 Linux
【Linux】部署单机OA项目及搭建spa前后端分离项目
【Linux】部署单机OA项目及搭建spa前后端分离项目
89 0
【Linux】部署单机OA项目及搭建spa前后端分离项目
|
7月前
|
SQL 存储 JavaScript
Layui之OA会议增删改查
Layui之OA会议增删改查
69 0
|
开发框架 JavaScript 前端开发
J2EE项目部署与发布(Windows版本)->会议OA单体项目Windows部署,spa前后端分离项目Windows部署
J2EE项目部署与发布(Windows版本)->会议OA单体项目Windows部署,spa前后端分离项目Windows部署
68 0
会议OA项目-其它页面->自定义组件应用,其它界面的布局
会议OA项目-其它页面->自定义组件应用,其它界面的布局
44 0
|
容器
会议OA项目-首页->flex弹性布局,轮播图后台数据获取及组件使用(后台数据交互mockjs),首页布局
会议OA项目-首页->flex弹性布局,轮播图后台数据获取及组件使用(后台数据交互mockjs),首页布局
83 0