整个流程,我们以修改用户个人信息为例子
- 首先,我们需要一个来接收前端参数的类,例如ModifyPersonalInfoRequest
@Data
@ApiModel("修改个人信息参数")
public class ModifyPersonalInfoRequest {
@ApiModelProperty("个人信息ID" , required = true)
@NotNull(message = "个人信息ID不能为空")
@Min(value = 1, message = "附件ID不正确")
private Integer id;
@ApiModelProperty(value = "姓名" , required = true)
@NotBlank(message = "姓名不能为空")
@Length(max = 10 , message = "最大长度为10")
private String name;
//就列举这两个吧,多的没必要
}
- 然后是一个controller接口
@Api(value = "个人信息管理", tags = "个人信息管理")
@RestController
@RequestMapping("/test/person")
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class AttachController {
//因为有RequiredArgsConstructor这个注解哈,就不用@Autwired了,直接final修饰就好了
private final PersonalBiz personalBiz;
//假如哈,你是用POST方法
@ApiOperation("修改个人信息")
@ResponseBody
@PostMapping("/modifyPersonalInfo")
public void modifyPersonalInfo(@RequestBody @Valid ModifyPersonalInfoRequest modifyPersonalInfoRequest ){
//转换哈参数,在biz解释了为什么,转换可以用BeanUtil里面的方法
//ModifyPersonalInfoRequest - > ModifyPersonalInfoBO
//这里调用biz的接口
personalBiz.modifyPersonalInfo(modifyPersonalInfoBO);
}
}
- 往后是一个Biz层,也就是service层
//先写个interface 抽象接口,然后继承这个接口实现方法
public interface PersonalBiz {
//这里为什么是ModifyPersonalInfoBO 哈,一般在controller就转换了,把Request转换成Bo了,Bo是一个类,跟ModifyPersonalInfoRequest 差不太多,例如你可以理解成这个Bo里面是不止id和姓名的,还有性别呀,户籍啊什么的。
Integer modifyPersonalInfo(ModifyPersonalInfoBO modifyPersonalInfoBO );
}
//然后就是写一个实现他的方法了 就不提行了
@Component
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class PersonalBizImpl implements PersonalBiz{
//Dao引用就不解释了
private final PersonalDao personalDao;
//然后就是实现方法 巴拉巴拉的
@Override
public Integer modifyPersonalInfo(ModifyPersonalInfoBO modifyPersonalInfoBO ) {
//做一些要做的事情啊
LambdaQueryWrapper<PersonalEntity> queryWrapper = new LambdaQueryWrapper<>(PersonalEntity.class);
//转换参数啊
//做一下条件,逻辑啊什么的
personalDao.updateById(personalEntity);
// ---------------------------------就不详细说了
}
- 后面就是需要一个Entity去对应数据,到Dao层了
@Data
@TableName("personal_info")//数据名字啊
public class PersonalEntity{
@TableId(type = IdType.AUTO)
private Integer id;
private String name;
//------一些参数啊
}
//然后一个Dao
@Mapper
public interface PersonalDao extends BaseMapper<PersonalEntity>{
}
我发现好像需要倒着写才对
正着写好像不对劲啊,哎,反正随手记录一下,写代码记住倒着写就行了 Dao - Biz - Controller