这是我在学习苍穹外卖时遇到的问题:
引号里面的参数找不到,
原因是:
老版本。Java 编译器会擦除泛型信息,导致在运行时无法获取参数的具体类型和名称。
解决方法:
方法一:
在Mapper中的方法的参数列表前加上@Param("setmealDishes")
/**
* 批量保存套餐和菜品的关联关系
* @param setmealDishes
*/
void insertBatch(@Param("setmealDishes") List<SetmealDish> setmealDishes);
方法二:
在xml文件中的foreach中把属性collection配置为"setmealDishes"
<insert id="insertBatch" parameterType="list">
insert into setmeal_dish
(setmeal_id,dish_id,name,price,copies)
values
<foreach collection="setmealDishes" item="sd" separator=",">
(#{sd.setmealId},#{sd.dishId},#{sd.name},#{sd.price},#{sd.copies})
</foreach>
</insert>
1407

被折叠的 条评论
为什么被折叠?



