diff --git a/sky-server/src/main/java/com/sky/mapper/DishFlavorMapper.java b/sky-server/src/main/java/com/sky/mapper/DishFlavorMapper.java index ab2e515..c9d5b50 100644 --- a/sky-server/src/main/java/com/sky/mapper/DishFlavorMapper.java +++ b/sky-server/src/main/java/com/sky/mapper/DishFlavorMapper.java @@ -23,4 +23,11 @@ public interface DishFlavorMapper { */ @Delete("delete from dish_flavor where dish_id = #{dishId}") void deleteByDishId(Long dishId); + + + /** + * 根据菜品id集合批量删除对应的口味数据 + * @param dishIds + */ + void deleteByDishIds(List dishIds); } diff --git a/sky-server/src/main/java/com/sky/mapper/DishMapper.java b/sky-server/src/main/java/com/sky/mapper/DishMapper.java index 3f5d475..6d830ef 100644 --- a/sky-server/src/main/java/com/sky/mapper/DishMapper.java +++ b/sky-server/src/main/java/com/sky/mapper/DishMapper.java @@ -10,6 +10,8 @@ import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; +import java.util.List; + @Mapper public interface DishMapper { @@ -53,4 +55,11 @@ public interface DishMapper { */ @Delete("delete from dish where id = #{id}") void deleteById(Long id); + + + /** + * 根据菜品id集合批量删除菜品 + * @param ids + */ + void deleteByIds(List ids); } diff --git a/sky-server/src/main/java/com/sky/service/impl/DishServiceImpl.java b/sky-server/src/main/java/com/sky/service/impl/DishServiceImpl.java index 2c0656d..3816988 100644 --- a/sky-server/src/main/java/com/sky/service/impl/DishServiceImpl.java +++ b/sky-server/src/main/java/com/sky/service/impl/DishServiceImpl.java @@ -101,12 +101,17 @@ public class DishServiceImpl implements DishService { } //删除菜品表中的菜品数据 - for (Long id : ids) { +/* for (Long id : ids) { dishMapper.deleteById(id); //删除菜品关联的口味数据 dishFlavorMapper.deleteByDishId(id); - } + }*/ + //sql:delete from dish where id in (?, ?, ?) + + //根据菜品id集合批量删除菜品数据和关联的口味数据 + dishMapper.deleteByIds(ids); + dishFlavorMapper.deleteByDishIds(ids); } } diff --git a/sky-server/src/main/resources/mapper/DishFlavorMapper.xml b/sky-server/src/main/resources/mapper/DishFlavorMapper.xml index 2fa5ba0..3371bfa 100644 --- a/sky-server/src/main/resources/mapper/DishFlavorMapper.xml +++ b/sky-server/src/main/resources/mapper/DishFlavorMapper.xml @@ -9,4 +9,11 @@ (#{df.dishId}, #{df.name}, #{df.value} ) + + + delete from dish_flavor where dish_id in + + #{dishId} + + diff --git a/sky-server/src/main/resources/mapper/DishMapper.xml b/sky-server/src/main/resources/mapper/DishMapper.xml index 8cb0efd..ffb367e 100644 --- a/sky-server/src/main/resources/mapper/DishMapper.xml +++ b/sky-server/src/main/resources/mapper/DishMapper.xml @@ -11,6 +11,14 @@ + + delete from dish where id in + + #{id} + + + +