关于项目的开发流程

关于项目的开发流程

在项目中,起到主要的关键作用的组件分别是:

  • Controller:接收请求,响应结果,另外,调用Service
  • Service:处理业务流程和业务逻辑,另外,调用Mapper
  • Mapper:实现增删改查

当开发一个新的功能时,应该遵循的顺序是:Mapper >>> Service >>> Controller

为了保证开发过程顺序执行,应该事先规划,规划完毕再编写代码。

以实现“创建属性模板”为例,大致的开发步骤为:

1. 开发Mapper

1.1. 规划需要执行的SQL语句

insert into pms_attribute_template (除了id以外的字段列表) values (与字段列表匹配的值列表)
select count(*) from pms_attribute_template where name=?

1.2. 在接口中添加抽象方法

int insert(AttributeTemplate attributeTemplate);
int countByName(String name);

1.3. 在XML中配置SQL语句

	<insert id="insert" useGeneratedKeys="true" keyProperty="id">
	</insert>
	<select id="countByName" resultType="int">
	</select>

1.4. 测试

2. 开发Service

2.1. 规划业务流程与业务逻辑

设定规则:属性模板的名称必须唯一,需要Mapper实现“根据属性模板的名称统计数据的数量”
设定规则:如果客户端没有提交sort,则处理为0

2.2. 在接口中添加抽象方法(可能需要创建DTO类)

创建“增加属性模板的DTO类(AttributeTemplateAddNewDTO)”,在类中添加属性:String name
在接口中添加抽象方法:void addNew(AttributeTemplateAddNewDTO attributeTemplateAddNewDTO);

2.3. 在实现类实现以上方法

【业务流程】(如果不清楚业务流程,从后往前写)
根据参数中的name,调用Mapper的countByName()进行统计
判断统计结果是否大于0
是:抛出异常
(注意:不需要写if对应的else,因为抛出异常就不会继续向下执行,如果能执行到下面的代码则不满足if条件)
创建AttributeTemplate类型的对象
将参数中的值复制到以上创建的对象中
判断AttributeTemplate的sort有没有值,如果没有,则设置为0
调用Mapper的insert()方法执行插入数据,并获取返回结果
如果返回结果不为1,则抛出异常

3. 开发Controller

3.1. 添加处理请求的方法

方法的返回值类型为JsonResult
方法的名称是自定义的
方法的参数就是AttributeTemplateAddNewDTO
方法上需要添加@PostMapping来配置请求路径
方法的内部将调用Service来实现功能

3.2. 完善Knife4j的一些配置

在控制器类上使用@Api注解配置tags属性,指定模块名称
在处理请求的方法上使用@ApiOperation注解配置value属性,指定业务名称,再添加@ApiOperationSupport注解配置order属性,指定排序序号

3.3. 通过Knife4j的调试功能,检查代码是否可以正确运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奕不再年少 *

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值