根本原因就是在参数上,列举一下可能的原因:
1.sql语句中的传的参数类型和数据库中不一致
2.#{}写成${}
3.也有说是在sql语句后加了“;”有影响的
本人sql语句如下:
该条语句的参数是list,list中存着试卷对象,然后遍历试卷对象,挨个更新数据库的数据
这条语句拿出来放到执行器中执行,没有任何毛病,但是在mybatis中就不行。刚开始以为是foreach循环写的有问题,然后尝试了各种形式的foreach循环都不行,故排除foreach循环的问题。
最后发现,jdbc设置上,有个属性是allowMultiQueries,想要执行批量查询,就需要将allowMultiQueries设置为true,所以解决办法就有了:
1.找到项目的配置文件:
2.挨个打开文件:
我再途中标了蓝色框是我加上的部分,红色款是配置的地方,在url后边加上下面的参数就可以:
&allowMultiQueries=true