springboot mybaits 批量更新报错:updateBatch-Inline

来源:互联网 发布:linux 下安装jdk 编辑:程序博客网 时间:2024/06/01 14:37

小编使用springboot,mybatis做批量更新的时候控制台报错updateBatch-Inline

原因:

配置的 mysql jdbc 链接字符串 默认不支持一次性执行多个sql 语句。需要在配置数据库连接的url后面加上

characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true

附:spring springmvc mybatis 整合批量操作,批量更新,批量插入

1、批量插入

<insert id="insertBatch" parameterType="java.util.List">   insert into sc_course_schedule (schoolid,teacherid,courseid,semesterid,classroomid,coursedesc,sequenceno,course_week,course_weekly,starttime,endtime,state,createtime,creator,modifytime,operater)    values    <foreach collection="list" item="item" index="index" separator=",">(#{item.schoolid},#{item.teacherid},#{item.courseid},#{item.semesterid},#{item.classroomid},#{item.coursedesc},#{item.sequenceno},#{item.course_week},#{item.course_weekly},#{item.starttime},#{item.endtime},#{item.state},#{item.createtime},#{item.creator},#{item.modifytime},#{item.operater})    </foreach>   </insert>

2、批量更新

<update id="updateBatch" parameterType="java.util.List">   <foreach collection="list" item="item" index="index" open="" close="" separator=";">   update sc_course_schedule   <set>   teacherid=#{item.teacherid},   courseid=#{item.courseid},   classroomid=#{item.classroomid},   coursedesc=#{item.coursedesc},   modifytime=#{item.modifytime},   operater=#{item.operater}    </set>   <where>   id=#{item.id}   </where>   </foreach>   </update>


3、批量删除

<delete id="deleteBatch" parameterType="java.util.List">    delete from sc_course_schedule where id IN   <foreach collection="list" item="item" open="(" separator="," close=")">   #{item.id}   </foreach>   </delete>