tlias的部门的增删改查操作

  1. 查询操作:

controllor层:

java 复制代码
@RestController
public class DeptController {
    @Autowired
    private DeptService deptService;


    @GetMapping("/depts")
    public Result list(){
        List<Dept> deptList= deptService.findAll();
        return Result.success(deptList);
    }
}

Service层:

java 复制代码
@Service
public class DeptServiceimpl implements DeptService {
    @Autowired
    private DeptMapper deptMapper;
    @Override
    public List<Dept> findAll() {
        return deptMapper.findAll();
    }
}

Mapper层:

java 复制代码
@Mapper
public interface DeptMapper {

    @Select("select id, name, create_time, update_time from dept order by update_time")
    List<Dept> findAll();
}

由于select中的create_time和update_time与实体类中的dept不同,所以查询出来的结果为空,如下图所示:

方法:

这三种方法都可以,建议使用开启驼峰命名

前后端联调:

Nginx的反向代理

2.根据id删除数据

方法一:要在url中带id,否则接口报错

方法二:

当注释了@RequestPara注解,该参数必须传递,接口后必须为/depts?id=?不然删除不成功,接口返回失败,可以设置required为false来关闭这个

方法三:省略@RequsetParam

url带不带id,接口都可以获取成功

新增部门:

@ResponseBody是将对象转为json格式传到客户端

用@RequestBody将json格式数据封装入Dept中,与上面区分开来

controller:

java 复制代码
@PostMapping ("/depts")
    public Result add(@RequestBody Dept dept){
        System.out.println("新增部门"+dept);
        deptService.add(dept);
        return Result.success();
    }

Service:

java 复制代码
@Override
    public void add(Dept dept) {
        //1.完善创建事件
        dept.setCreateTime(LocalDateTime.now());
        dept.setUpdateTime(LocalDateTime.now());
        deptMapper.insert(dept);
    }

Mapper层:

java 复制代码
@Insert("insert into dept(name, create_time, update_time) values(#{name}, #{createTime}, #{updateTime})")
    void insert(Dept dept);

3.修改数据

分两部:1.查询回显 2.修改数据

查询回显需要用到路径参数:用到PathVariable,如果参数值名称和路径参数id相同则可以省略其中的("id")

回显部分:

controller:

java 复制代码
@GetMapping("/depts/{id}")
    public Result getInfo(@PathVariable Integer id){
        System.out.println("根据id查询部门:" +id);
        Dept dept = deptService.getById(id);
        return Result.success(dept);
    }

Service:

java 复制代码
@Override
    public Dept getById(Integer id) {
        Dept dept = deptMapper.getById(id);
        return dept;
    }

Mapper:

java 复制代码
@Select("select id,name,dept.create_time,dept.update_time from dept where id = #{id}")
    Dept getById(Integer id);

2.数据修改:

controller:

java 复制代码
@PutMapping("/depts")
    public Result update(@RequestBody Dept dept){
        System.out.println("修改的部门" + dept);
        deptService.update(dept);
        return Result.success();
    }

Service:

java 复制代码
@Override
    public void update(Dept dept) {
        dept.setUpdateTime(LocalDateTime.now());
        deptMapper.update(dept);
    }

Mapper:

java 复制代码
@Update("update dept set name = #{name},update_time = #{updateTime} where id = #{id}")
    void update(Dept dept);

总结:

公共的路径都是/depts上可以抽取到类上

相关推荐
云和数据.ChenGuang2 小时前
批量给100台服务器装系统,还要完成后续的配置和软件部署
运维·服务器·开发语言·mysql
刺客xs2 小时前
Qt-----QSS样式表
开发语言·javascript·qt
锥锋骚年2 小时前
golang 发送内网邮件和外网邮件
开发语言·后端·golang
wjs20242 小时前
JavaScript for 循环详解
开发语言
东华万里3 小时前
第十五讲 指针 从本质吃透 C 语言指针(上)
c语言·开发语言
雨雨雨雨雨别下啦3 小时前
Spring AOP概念
java·后端·spring
on the way 1233 小时前
day04-Spring之Bean的生命周期
java·后端·spring
代码笔耕3 小时前
面向对象开发实践之消息中心设计(二)
java·后端·架构