关于项目的开发流程大概

本文详细阐述了如何按步骤开发新功能,包括规划Mapper的SQL、创建Service的业务逻辑、以及Controller的API实现。重点讲解了'创建属性模板'过程中的Mapper映射、Service验证和Controller接口设计。

在这里插入图片描述

关于项目的开发流程:

在项目中,起到主要的关键做的组件分别是:
1.Controller: 接收请求,响应结果; 调用Service
2.Service: 处理业务流程和业务逻辑; 调用Mapper
3.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">
		// SQL
	</insert>
	<select id="countByName" resultType="int">
		// SQL
	</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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值