黑马-苍穹外卖-Day2-编辑员工

1 根据id查询员工信息

1.1 EmployeeController中添加方法,接收前端提交过来的数据

//EmployeeController.java

    /**
     * 根据id查询员工信息
     * @param id
     * @return
     */
    @GetMapping("/{id}")  // 通过路径参数提交过来的
    @ApiOperation("根据id查询员工信息")
    public Result<Employee> getById(@PathVariable Long id){  // 查询,返回给前端的是一个employee实体类
        Employee employee = employeeService.getById(id);
        return Result.success(employee);
    }

1.2 getById(id)方法扩展到employeeService接口中

// employeeService.java

    /**
     * 根据id查询员工
     * @param id
     * @return
     */
    Employee getById(Long id);

1.3 employeeService接口的实现类实现getById(id)方法

// EmployeeServcelmpl.java

    /**
     * 根据id查询员工
     * @param id
     * @return
     */
    public Employee getById(Long id) {
        Employee employee = employeeMapper.getById(id);  // 调用持久层查
        // 查出来的employee实体是包含MD5加密后的密码的,但是尽量不要给前端返回密码,处理一下
        employee.setPassword("****");  // 进一步加强安全性
        return employee;
    }

1.4 employeeMapper中实现getById(id)

// employeeMapper.java

    /**
     * 根据id查员工信息
     * @param id
     * @return
     */
    @Select("select * from employee where id = #{id}")
    Employee getById(Long id)

2 编辑员工信息

2.1 EmployeeController中添加方法,接收前端提交过来的数据

//EmployeeController.java

    /**
     * 编辑员工信息
     * @param employeeDTO
     * @return
     */
    @PutMapping
    @ApiOperation("编辑询员工信息")
    public Result update(@RequestBody EmployeeDTO employeeDTO) {  // 提交过来的是json,所以要加@RequestBody
        log.info("编辑员工信息:{}", employeeDTO);
        employeeService.update(employeeDTO);  // 修改数据
        return Result.success();
    }

2.2 employeeService.update(employeeDTO)方法扩展到employeeService接口中

// employeeService.java

/**
     * 编辑员工信息
     * @param employeeDTO
     */
    void update(EmployeeDTO employeeDTO);

2.3 employeeService接口的实现类实现employeeService.update(employeeDTO)方法

// // EmployeeServcelmpl.java

    /**
     * 编辑员工信息
     * @param employeeDTO
     */
    public void update(EmployeeDTO employeeDTO) {
        Employee employee = new Employee();
        BeanUtils.copyProperties(employeeDTO, employee);  // 对象属性拷贝,传过来的属性拷贝给新建的employee对象
        // 设置修改时间和修改人
        employee.setUpdateTime(LocalDateTime.now());
        employee.setUpdateUser(BaseContext.getCurrentId());  // ThreadLocal获取,之前拦截器那边已经设置古了

        employeeMapper.update(employee);  // 调用动态SQL修改
    }

2.4 调用Mapper修改数据库

  • 之前写启用禁用员工账号的时候写的update,就是根据主键动态修改属性,可以复用
  • void update(Employee employee)之前写的
黑马程序员苍穹外卖项目中的Nginx配置文件可以根据具体需求进行配置。根据引用\[1\]中的描述,可以通过双击nginx.exe启动Nginx,并在http://localhost/访问前端页面。这意味着Nginx的配置文件应该包含有关前端页面的相关配置。另外,根据引用\[2\]中的描述,Nginx还可以用作反向代理和负载均衡,因此配置文件还应包含有关反向代理和负载均衡的相关配置。最后,根据引用\[3\]中的描述,苍穹外卖项目还需要与第三方配送公司进行对接和管理,因此配置文件还应包含有关与第三方配送公司对接的相关配置。综上所述,黑马程序员苍穹外卖项目的Nginx配置文件应包含前端页面的相关配置、反向代理和负载均衡的相关配置以及与第三方配送公司对接的相关配置。 #### 引用[.reference_title] - *1* [黑马程序员_Java项目实战《苍穹外卖》_Day01_开发环境搭建](https://blog.csdn.net/BallerWang9/article/details/131824385)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [最适合新手的SpringBoot+SSM项目《苍穹外卖》实战—(一)项目概述](https://blog.csdn.net/qq_20185737/article/details/131575898)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值