使用Java开发Web系统的流程(不定期更新)

使用Java开发Web系统的流程

文章目录

  • 使用Java开发Web系统的流程
    • 前言
    • 1.进行数据库的设计
    • 2.接口文档
    • 3.mybatis
    • 未完待续

前言

大二下,用纯粹jsp,在数据库课程设计这么课上搞了个小系统,实现了基本的增删改查。后来,在人机交互课上学习了js开发。后来,就再也没有做过Web开发的项目。所以一直对软件工程的整个流程不是很了解。
大三下逼着我做一个Web项目,打铁还需自身硬呀,做这个项目真的头大,特地对整个软件工程的编码流程做一些总结。

1.进行数据库的设计

数据库的设计非常重要,这关系到系统后续所有的实现。
数据库设计最好使用专门的工具进行设计,例如Windows平台的ERwin,Mac平台的DBSchema,那有同学要问了,我直接使用visio,或者ppt都是可以绘制ER图的呀?
对,这些工具固然可以进行数据库的设计,但是这些工具不是专业的数据库设计工具。专业的数据库设计工具不仅仅是绘图,自动生成文档才是这些工具的杀手锏。日后在写代码的过程中,如果对数据库某些字段或者关系搞不清楚,直接看文档就好了!

另外,设计数据库时,数据库字段的命名规范也很重要,命名的不好,后期很伤脑筋,因为这关系到主键外键,多表联合查询等问题,这些都很字段命名直接相关。

前期设计的不好,后期就很麻烦

2.接口文档

现在前后端分离是主流,所以接口文档显得特别重要。我们团队最开始使用markdown手写了接口文档,然后我觉得存在下列问题。

  • 更新很麻烦
  • 接口不规范,不知道字段的类型,没有字段值的示例,这些都是问题。

解决方案:使用专业的工具来书写接口文档。

3.mybatis

mybatis说起来是三层架构,其实当我们看到controller时,我们就开始敲sql语言的,这种从底层向上的方法是比较好的。让人从底层产生思路。因为人们一开始也不知道service中要设置什么方法。所以最好的方法是:

  • 将接口文档复制到controller对应的方法上面
  • 搞清楚涉及到哪些表,搞清楚controller给我们提供了哪些内容
  • 在navicat的窗口中敲sql语句
  • 然后写mapper
    mapper.xml中的返回值直接设置成map, 然后所有的东西都依据接口文档来写。
    不要写实体层,实体层会让数据库的移植性变的很差。mapper.xml的返回值全部使用HashMap
    这样一来,就相当于两层架构,mapper.xml和service层。
    controller层可以根据url的路径来进行归类。
  • 然后再写service.
  • 最好再写controller

未完待续

你可能感兴趣的:(JavaWeb开发)