理解后端业务逻辑代码开发思路

套路顺序:

下面是一个新增员工功能的开发的例子

1.需求分析和设计

根据产品原型对需求进行分析,对功能接口进行设计,确定返回的参数类型。

接口设计好后对数据库进行设计。

(前后端分离开发,要先把接口设计好,才能并行开发。)

(约定:后端响应给前端的数据整体会封装成一个result对象返回。大多项目开发是这样,不是唯一)

2.代码开发

一般编写顺序:

controller—> service—> serviceImpl—> mapper—> (动态sql--mapper.xml)

*xml文件不一定需要编写,看情况*

        前端提交给后端的是json格式的数据,可以用实体类接收。但当前端提交的数据和实体类中对应的属性差别比较大时,采用DTO来封装数据(EmployeeDTO),即前端提交什么数据DTO就封装什么属性。

@PostMapping
    @ApiOperation("新增员工")
    public Result save(@RequestBody EmployeeDTO employeeDTO) {
        log.info("新增员工:{}", employeeDTO);
        System.out.println("当前线程的ID:"+Thread.currentThread().getId());
        employeeService.save(employeeDTO);
        return Result.success();
    }
    
    在save()方法中声明一个参数:接收前端提交过来的数据(这里用DTO来接收,而且是一个json格式的数据,需要加上@RequestBody注解)
    这里的是post请求方式,所以用@PostMapping注解
     @ApiOperation()这个是用来描述该方法的功能
/**
     * 新增员工
     * @param employeeDTO
    */
    public void save(EmployeeDTO employeeDTO){
        System.out.println("当前线程的ID:"+Thread.currentThread().getId());

        final Employee employee = new Employee();

        //对象属性拷贝
        //前面拷贝到后面(目标)  属性名必须一致
        BeanUtils.copyProperties(employeeDTO,employee);

        //设置账号状态,默认正常状态 1表示正常,0表示锁定
        //StatusConstant 常量类(复用)
        employee.setStatus(StatusConstant.ENABLE);

        //设置密码,默认密码123456
        employee.setPassword(DigestUtils.md5DigestAsHex(PasswordConstant.DEFAULT_PASSWORD.getBytes()));


        employeeMapper.insert(employee);
    }
    
    

        save(EmployeeDTO employeeDTO)这里save()中传过来的是DTO是为了方便封装前端提交过来的数据,但最终传给持久层mapper建议使用实体类,所以得进行对象转换,把DTO转为实体。而实体类里面是空的,所以一个一个来设置其属性,具体值已经在DTO里面封装好了,但一个一个太麻烦,所以使用BeanUtils工具类进行属性拷贝,一次性把属性拷贝过去,属性名必须一致。  BeanUtils.copyProperties(employeeDTO,employee)前面拷贝到后面 。

        在这里面把所有属性封装好了,就可以调用持久层(这里指employMapper),把实体对象放进去employeeMapper.insert(employee);把数据插入。

        接着就是对mapper的方法进行扩展:在service接口里面创建这个方法,因为比较简单所以直接在方法什么进行sql的编写,写的比较多的大佬可能会发现后面没有继续在Impl中对service方法实现的代码开发,这个例子比较简单,对于很多业务逻辑都是在service中把方法编写完再在serviceImpl中对其方法进行实现。

3.功能测试

......

4.代码完善

后面就自己去想咯!

这是目前按自己的理解整理的一点笔记!参考着看!等我理解更透彻继续更新!

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

تچ快乐杂货店يچ

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

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

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

打赏作者

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

抵扣说明:

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

余额充值