1.0模块整体的实体设计
一、1.starUML结构类图
2.设计说明
1,有几个实体?
一般是一组增删改查对应一个实体。
2,实体之间有什么关系?
一般是页面引用了其他的实体时,就表示与这个实体有关联关系。
3,每个实体中都有什么属性?
1,主键。
2,关联关系属性。在类图中,关联关系是一条线,有两端,每一端对应一个表达此关联关系的属性。有几个端指向本类,本类中就有几个关联关系属性。
3,一般属性。分析所有有关的页面,找出表单中要填写的或是在显示页面中要显示的信息等。
4,特殊属性:为解决某问题而设计的属性。比如要显示年龄,但不会设计一个int age字段,而是一个Date birthday字段,年龄是在显示时实时计算出来的。
3.hibernate映射设计
1.写注释
格式为:?属性,表达的是本对象与?的?关系。
例:“department属性,本对象与Department的多对一”
2,拷模板:
多对一 | <many-to-one name=“” class=“” column=“”/> |
一对多 (Set) | <set name=""> <key column=""></key> <one-to-many class=""/> </set> |
多对多 (Set) | <set name="" table=""> <key column=""></key> <many-to-many class="" column=""/> </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后缀。
完成
注意点:1.配置字段时尽量用提示
2.不要漏掉字段
二、系统管理模块下面分为:岗位管理、部门管理、用户管理。
1.重点关注的功能
2.增删改查
3.客户端表单验证
4.树状结构的设计与展示
(3)实现一组功能的步骤
1,充分了解需求,包括所有的细节,需要知道要做一个什么样的功能
2,设计实体/表
正向工程:设计实体、映射文件 建表
反向工程:设计表 映射文件、实体
3,分析功能
分析到每个请求的粒度。
得到的结果是我们需要处理多少种请求,其中每种请求对应一个Action方法。
例
增删改查共4个功能,需要6个请求。
所以需要相应的6个Action方法,每个Action方法处理一种请求。
作用 方法名 返回值 对应的页面
----------------------------------------------------
列表 list() list list.jsp
删除 delete() toList
添加页面 addUI() addUI addUI.jsp
添加 add() toList
修改页面 editUI() editUI editUI.jsp
修改 edit() toList
4,实现功能:
1,创建Action,并定义出其中的方法。
2,实现Action方法,并创建出所用到的新的Service方法。
3,实现Service方法,并创建出所用到的新的Dao方法。
4,实现Dao方法。
5,创建并完成JSP页面。
5,测试、运行