同理的Right
XML
<select id="pageQuery" resultType="com.sky.vo.DishVO">
select d.* , c.name as categoryName from dish d left outer join category c on d.category_id = c.id
<where>
<if test="name != null">
and d.name like concat('%',#{name},'%')
</if>
<if test="categoryId != null">
and d.category_id = #{categoryId}
</if>
<if test="status != null">
and d.status = #{status}
</if>
</where>
order by d.create_time desc
</select>
事务机制,要么同时成功,要么同时失败
java
//新增菜品
@Override
@Transactional
public void saveWithFlavor(DishDTO dishDTO) {
// 新增表菜品
Dish dish = new Dish();
BeanUtils.copyProperties(dishDTO,dish);
dish.setImage("目前没有阿里云服务器OOS,先这样了..");
dishMapper.insert(dish);
Long dishId = dish.getId();// 获取到生成的ID,然后赋值到 dish_flavor这个表里面
//新增口味,批量循环添加口味
List<DishFlavor> flavors = dishDTO.getFlavors();
if(!flavors.isEmpty() && flavors != null){
// 设置dish_flavor表的菜单ID值
flavors.forEach((item)->{
item.setDishId(dishId);
});
//向口味表插入n条数据
dishFlavorMapper.insertBatch(flavors);
}
}