问题:使用mybatis在执批量更新操作时,一直报错执行失败
解决方法:
首先打印了SQL语句,发现SQL语句拿出来执行没问题,也可以批量执行。SQL没问题,应该是配置的问题。
在网上查询和很多资料,都说是在连接数据库的的URL后面加上关键字 allowMultiQueries=true 即可。
加上之后测试运行,还是同样的错误。
后来找到一篇源代码分析,提示报错的原因是multiStatementAllow的值为空。
<bean > </bean>
<bean> <property name="config" ref="wall-config" /> </bean>
加上上述所述代码,依然报错。
后来发现问题出来配置重复上。
2. 在配置springdate数据源时,
<property name="filters" value="stat,wall" />
<property name="proxyFilters"> <list> <ref bean="stat-filter" /> <ref bean="wall-filter" /> </list>
</property>
上述只需要一个就行,而我同时配置了两个。删除上述第一个即可,运行成功。
解决步骤:
1. 连接mysql的url加上关键字 allowMultiQueries=true
2. 为配置的wall-filter中的multiStatementAllow添加true的值。
<bean > </bean>
<bean> <property name="config" ref="wall-config" /> </bean>
3. filters留一个就行,附上配置
<property name="proxyFilters"> <list> <ref bean="stat-filter" /> <ref bean="wall-filter" /> </list>
</property>
<bean />
</bean>
<bean>
<property name="config" ref="wall-config" /> </bean> <bean > </bean>