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

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

缘由:mysql

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

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

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

一、批量插入sql

<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>

二、批量更新

<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>


三、批量删除数据库

<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>