mybatis批量更新的时候报错语法错误
错误:
mybatis的批量操作方式参考:https://www.jianshu.com/p/041bec8ae6d3
本案例使用的批量更新方式:
<update id="updateQuestionXuekubaoBatch" parameterType="com.eebbk.internal.question.convertor.pojo.QuestionXuekubaoPojo" keyProperty="id" useGeneratedKeys="true">
<foreach collection="list" index="index" item="item" open="" separator=";" close="">
update t_question_xuekebao_linux
<set>
content = #{item.content},
answer = #{item.answer},
solution = #{item.solution},
course = #{item.course},
grade = #{item.grade},
content_exist_flag = #{item.contentExistFlag},
answer_exist_flag = #{item.answerExistFlag},
content_exist_flag = #{item.contentExistFlag},
parse_exist_flag= #{item.parseExistFlag},
qiniu_flag= #{item.qiniuFlag},
paper_flag= #{item.paperFlag},
pic_exist_flag = #{item.picExistflag},
update_time = #{item.createTime}
</set>
WHERE id_old = #{item.idOld}
</foreach>
</update>
大前提是要在数据源配置的地方加
详细参考如下:
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://113.108.xx.xx:8265/xuekubao?allowMultiQueries=true" />
<property name="username" value="content_library_test" />
<property name="password" value="con1te#[email protected]" />
<property name="maxActive" value="20"/>
<property name="initialSize" value="1"/>
<property name="minIdle" value="1"/>
<property name="maxWait" value="60000"/>
<property name="timeBetweenEvictionRunsMillis" value="60000"/>
<property name="minEvictableIdleTimeMillis" value="300000"/>
<property name="validationQuery" value="SELECT 1 FROM DUAL"/>
<property name="testWhileIdle" value="true"/>
<property name="testOnBorrow" value="false"/>
<property name="testOnReturn" value="false"/>
<property name="poolPreparedStatements" value="true"/>
<property name="maxOpenPreparedStatements" value="20"/>
<property name="proxyFilters">
<ref bean="wall-filter"/>
</property>
<property name="filters" value="stat,wall,log4j"/>
<property name="connectionProperties" value="druid.stat.mergeSql=true"/>
</bean>
<bean id="wall-filter" class="com.alibaba.druid.wall.WallFilter">
<property name="dbType" value="mysql"/>
<property name="config" ref="wall-config"/>
</bean>
<bean id="wall-config" class="com.alibaba.druid.wall.WallConfig">
<!-- 批量sql -->
<property name="multiStatementAllow" value="true"/>
</bean>