请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答 回答被采纳积分+3

插入代码

4回答

橘子阿茶 2018-03-02 14:09:25


增加以下配置即可解决

1
2
3
4
<bean id="wall-config" class="com.alibaba.druid.wall.WallConfig">
   <!-- 允许一次执行多条 -->
   <property name="multiStatementAllow" value="true"/>
</bean>


1 回复 有任何疑惑可以回复我~
Jimin 2017-11-22 23:15:57

你好,可以通过以下几个方式去处理

1、下载的代码里语法稍微有点问题,这个许多学员看到后都自己解决了,这里单独说一下。SysDeptMapper.xml里batchUpdateLevel里foreach定义的变量和使用时不一致

<update id="batchUpdateLevel" parameterType="map">
     <foreach collection="sysDeptList" item="sysDept" separator=";">
           UPDATE sys_dept
           SET level = #{sysDept.level}
           WHERE id = #{sysDept.id}
      </foreach>
</update>

2、这个没问题后,检查一下durid的配置,applicationContext.xml里

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
   <property name="driverClassName" value="${db.driverClassName}" />
   <property name="url" value="${db.url}" />
   <property name="username" value="${db.username}" />
   <property name="password" value="${db.password}" />
   <property name="initialSize" value="3" />
   <property name="minIdle" value="3" />
   <property name="maxActive" value="20" />
   <property name="maxWait" value="60000" />
   <property name="filters" value="stat,wall" />
</bean>

可以尝试把 <property name="filters" value="stat,wall" /> 中wall 移除看批量更新是否ok,这个配置兼容性不是特别好

3、如果异常依旧存在,那么可以修改一下数据库连接串,setting.properties里

db.url=jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=UTF-8

在这个连接串后面再拼上一段:&allowMultiQueries=true

mysql版本比较低时,需要通过这个参数显式声明支持批量操作


1 回复 有任何疑惑可以回复我~
香烟弥漫 2018-04-24 10:01:12

谢谢老师,棒棒哒

0 回复 有任何疑惑可以回复我~
提问者 慕用2942571 2017-11-22 22:29:02

语法没有问题

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号