SpringBoot +LayUI+thymeleaf 实现一个功能(五) 删除

tech2024-05-17  78

功能说明 删除时应该删除子节点,有两个方式:1.通过一条SQL语句进行删除 2.执行两个删除语句。 数据源增加 &allowMultiQueries=true JAVA 后端 dao

void deleteDeptById(int id);

mapper

<!--删除操作 根据id删除节点以及下面的子节点--> <delete id="deleteDeptById" parameterType="int"> delete from dept where id=#{id} or id in (SELECT t3.id FROM ( SELECT *, IF (find_in_set(t1.parent_Id, @p) >0,@p:= concat(@p,',',id),0) AS childId FROM (SELECT id,parent_Id FROM dept t ORDER BY id) t1, (SELECT @p:= #{id} ) t2 ) t3 WHERE childId != 0) ; </delete>

service 接口

void deleteDeptById(int id);

实现

@Override public void deleteDeptById(int id) { iDeptDao.deleteDeptById(id); }

控制层

@RequestMapping("dept/deleteDeptByID") @ResponseBody public R deleteDeptByID(int id){ deptService.deleteDeptById(id); return R.ok(); }

前端

测试 后记 因为涉及多层树,所以删除SQL语句还是需要多熟悉一下。

最新回复(0)