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

来源:互联网 发布:风险矩阵评价法 编辑:程序博客网 时间:2024/06/05 02:30

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

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
服务器端验证


 

原创粉丝点击