沐凌 2021-05-04 17:21 采纳率: 33.3%
浏览 155
已采纳

mybatis 接口传入多个参数,批量插入

报org.apache.ibatis.binding.BindingException: Parameter 'array' not found. Available parameters are [roleIds, id, param1, param2]如何解决,

代码如下

接口

public interface UserRoleMapper {
    void saveUserRoleRel(@Param("id") Long id,@Param("roleIds") Long[] roleIds);
}

mapper:

  <insert id="saveUserRoleRel" parameterType="java.util.ArrayList">
        INSERT INTO sys_user_role()
        VALUES
        <foreach collection="array" item="roleIds" index="index" separator="," >
            (#{userId},#{roleId})
        </foreach>
    </insert>

 

  • 写回答

3条回答 默认 最新

  • 关注
    <insert id="saveUserRoleRel" parameterType="java.util.ArrayList">
        INSERT INTO sys_user_role(userId,roleId) values
        VALUES
        <foreach collection="array" item="roleIds" index="index" separator="," >
            (#{userId},#{roleId})
        </foreach>
    </insert>

    接口应该是传JAVABEAN的集合,只能一个参数,封装一下。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?