由于JAVAEE中,大体分为了四层,action触发层,service(server)服务层, dao数据访问对象层, entity实体层。这使得我们初学者在进行一些数据操作时,由于层数过多,思想产生混乱。
为了解决这个问题,我们引用图表。我们从表现力的角度上来讲,图的表现力最好,这也为什么基本上所有的平面广告都是大幅图片的原因。在这,为了更好的绘制图表,我们将使用一款优秀的UML制图工具 -- Astah。
在上节中,我们模拟进行数据的CURD,本节中,我们由C开始,看看把数据添加的过程放在时序图中,应该是个什么样子的。
## create
我们新建 CreateAction,
![https://box.kancloud.cn/5473b24b6576a860871fa0e4159898b7_832x780.png](https://box.kancloud.cn/5473b24b6576a860871fa0e4159898b7_832x780.png)
位置如下:
![https://box.kancloud.cn/5e06f448b8b8d6ae4291731005a245a1_482x288.png](https://box.kancloud.cn/5e06f448b8b8d6ae4291731005a245a1_482x288.png)
下一步,我们先画一个最为熟悉的流程图:
![https://box.kancloud.cn/7d18d4e870deb904f9c3ff3f5f222550_454x1288.png](https://box.kancloud.cn/7d18d4e870deb904f9c3ff3f5f222550_454x1288.png)
没错,流程图由于没有做任何的判断,所以简单的不行。
然后,新建一个时序图, 在时序图上,我们完成上述流程图的执行过程。
![https://box.kancloud.cn/696caf3899b23215e1a16094c4539c7a_2404x918.png](https://box.kancloud.cn/696caf3899b23215e1a16094c4539c7a_2404x918.png)
有了时序图后,类中的方法也随之确定了。下节中,我们将对照时序图进行编码,一步一步的来完成这个班级数据添加的时序图。
编码前,有一个现实的问题,摆在我们面前。我们应该先编写哪个层呢?
按以往的经验,当然,我们会由C层出发开发编码。然后在C层的执行过程中,需要哪个类中什么方法,就会去写什么方法。在另一个方法中,如果在需要别的方法,再去写别的方法。
这在一些小型的系统中,也是适用的。但在稍大的一些系统中,就显得力不从心了。至于原因,大家想想吧。
本次,我们按照正常的流程,由只能被别人调用的实体层出发,然后是DAO层,然后是SERVER层,最后是action层,来编写代码。
- README
- 第一章:准备
- 第二章:Hello World!
- 第一节:查看工程文件
- 第二节:JDK、JRE与环境变量
- 第三节:index.jsp
- 第三章:Hello Struts
- 第一节:Web.xml
- 第二节:单入口
- 第三节:Hello Struts
- 第四节:触发C层
- 第四章:建立数据表
- 第一节:建立实体类
- 第二节:测试一
- 第三节:测试二
- 第四节:引入Hibernate
- 第五节:配置Hibernate
- 第六节:建立连接
- 第七节:实体类映射数据表
- 第八节:完善数据表
- 第五章:教师管理
- 第一节:增加数据--add
- 第二节:增加数据--save
- 1 获取传入数据数据
- 2 数据写入测试
- 3 对接C层
- 第三节:数据列表
- 1 获取数据
- 2 重构代码
- 3 C层对接--初始化
- 4 C层添加数据
- 5 V层显示数据
- 6 获取数据库中数据
- 7 显示性别
- 8 分页
- 9 条件查询
- 第四节:修改数据
- 1 edit
- 2 update
- 第五节:删除数据
- 第六节:总结
- 第六章:重构C层
- 第一节:继承ActionSupport类
- 第二节:数据验证
- 第七章:前台分离(前台)
- 第一节:环境搭建
- 第二节:运行环境
- 第三节:共享开发环境
- 第四节:生产环境
- 第八章:前台开发(前台)
- 第一节:本地化
- 第二节:教师列表
- 1 引入M层
- 2 模拟后台返回数据
- 3 C与M对接
- 4 C与V对接
- 第九章:前后台对接(前后台)
- 第一节:后台输出json(后台)
- 第二节:对接前台(全栈)
- 第二节:对接API(前台)
- 第二节:跨域请求(后台)
- 第三节:重构代码(前台)
- 第十章:重构后台M层
- 第一节:数据访问DAO层
- 第二节:项目整体重构
- 第十一章:用户登陆(前后台)
- 第一节:制定规范
- 第二节:定制测试用例
- 第三节:后台输入测试代码(后台)
- 第四节:postman(后台)
- 第五节:新建用户登陆模块(前台)
- 第六节:代码重构(前台)
- 第十二章:班级管理(前后台)
- 第一节:班级列表
- 1 原型开发
- 2 制定规范
- 3 后台对接开发
- 4 前台对接开发
- 第二节:Add
- 1 原型开发
- 2 制定规范
- 3 后台对接开发
- 4 前台对接开发
- 第三节:Save
- 1 制定规范
- 2 后台对接开发
- 3 前台对接开发
- 第四节:Edit
- 1 原型开发
- 2 制定规范
- 3 后台对接开发
- 4 前台对接开发
- 第五节:Update
- 1 制定规范
- 2 后台对接开发
- 3 前台对接开发
- 第六节:Delete
- 1 制定规范
- 2 后台对接开发
- 3 前台对接开发
- 第七节:小结
- 第十三章:班级管理(API)
- 第一节:ER图
- 第二节:create
- 1 实体层
- 2 dao层
- 3 service(server)层
- 4 action层
- 第三节:ManyToOne
- 第四节:Read
- 1 service(server)层
- 2 action层
- 第五节:update
- 1 service(server)层
- 2 action层
- 第六节:update
- 第十四章:重构服务层