其他分享
首页 > 其他分享> > mybatis传入List实现批量更新的坑

mybatis传入List实现批量更新的坑

作者:互联网

原文:http://www.cnblogs.com/zzlback/p/9342329.html

 

今天用mybatis实现批量更新,一直报错,说我的sql语句不对,然后我还到mysql下面试了,明明没问题,但就是过不去,原来问题在这。

 

在连接数据库的url中要加入?allowMultiQueries=true这段,而且要放在第一行

 

 然后dao层就如下写

 

最后mapper.xml就是正常的写法,解释一下,我的collection="list",为什么写list,因为传入的是一个list集合,这里必须写list,

如果传入一个数组比如Integer[],那么就要写collection="array"

<!-- 如果不是第一次参加考试,就更新学生的答案 -->
    <update id="updateStudentAnswer" parameterType="java.util.List">
        <if test="list!=null">
            <foreach collection="list" item="studentAnswer" index= "index" open="" close="" separator =";">
                update studentanswerinfo
                <set>
                    SAnswer=#{studentAnswer.SAnswer},
                    Getpoint=#{studentAnswer.Getpoint},
                    other=#{studentAnswer.other}
                </set>
                <where>
                    questionID=#{studentAnswer.questionID}
                </where>
            </foreach>
        </if>
    </update>

 

标签:questionID,批量,List,list,Getpoint,mybatis,studentAnswer,SAnswer
来源: https://www.cnblogs.com/shihaiming/p/10341293.html