大家好,我是李子。
前两天遇到了使用Mybatis批量处理sql语句,因对其不熟悉,被困扰两天,百度了很多方法,但还是毫无头绪,但最后还是解决了,特此献上解决方法。
Mybatis批量更新的时候报错:
java.sql.SQLException: sql injection violation, multi-statement not allow : update XXX(table)
经过百度很多方法都是在数据库连接的地方增加必须配置:&allowMultiQueries=true(貌似只针对于mysql,对于Oracle不适用);看到很多调用foreach导致失败的解决方法,在节点上增加begin,end,但我这里并没有用到,辗转了一天,灵感袭来,在原理上调用foreach和自己写多个update的语句原理上应该是一样的,于是在mapper.xml中update节点下的开头和结尾处增加了begin和end
随着有迎来来了新的问题&#x