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上可以抽取到类上

相关推荐
nanxun88617 小时前
记一次诡异的 Docker 容器"串包"故障排查
java
用户15630681035120 小时前
Day01 | Java 基础(Java SE)
java
行者全栈架构师21 小时前
Maven dependency:tree 的 8 个高级用法
java·后端
行者全栈架构师1 天前
IDEA 中 Maven 项目的 15 个红色报错快速解决方法
java·后端
令人头秃的代码0_01 天前
mac(m5)平台编译openjdk
java
唐青枫2 天前
Java JDBC 实战指南:从 Connection 到事务和连接池
java
一个做软件开发的牛马2 天前
MyBatis-Plus 从零实战:完整搭建可运行 Demo,BaseMapper 零 SQL、Wrapper 条件构造、分页插件与代码生成器详解
java·后端
用户3721574261352 天前
Java 处理 PDF 图片:提取 PDF 中的图片,并压缩 PDF 图片体积
java
用户3721574261352 天前
Java 打印 Word 文档:从基础打印到高级设置
java
用户3521802454753 天前
当 Prompt 学会"热更新":Spring Boot × Nacos3 AI 实战
java·spring boot·ai编程