项目是spring boot的框架
yml文件:
mapper 批量更新语句
报错信息:
结果传值不成功!
报错信息:
两个mapper比较得出:#{}取值不成功 ${}取值可以,但是:
1、mapper里的其它语句都是#{}取值
2、数据库里的id都是uuid,${id}取值成功但是取出来的不是字符串
于早作了如下改变,
还是报错,信息如下:
上面这条sql在数据库里能执行,但是在程序里报注入异常
于是,我想是数据库连接里什么配置没有开启,修改数据库url连接如下:
url:jdbc:mysql://127.0.0.1:3306/test?allowMultiQueries=true&autoReconnect=true&characterEncoding=utf-8
mapper依次如上三次修改配置,运行都报错。。。
崩溃了,我真的不知道这是什么问题了?
有知道的兄弟,请不吝赐教。
楼主这不是参数问题是muti-statement not allow问题,就是不能在一个sql语句中写多条语句(大概那么个意思)。建议调整数据库配置,比如jdbc:mysql://192.168.1.236:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true 。。。。关键点在于allowMultiQueries=true。如果没解决----楼主可百度下muti-statement not allow
yml配置里面URL改成楼上说的那样试试
谢谢楼上两位,但是我的配置里面已经加上了allowMultiQueries=true
查找了很多资料,终于解决问题,现将解决方案献上:
1、yml配置仅改了 filters: stat,slf4j 去掉了wall
2、过渡拦截设置 将防火墙过滤设置为ProxyFilters,如果需要配置文件请自行转换
这里需要明白ProxyFilters和Filters的区别,Filters是通过字符串映射,ProxyFilters是通过类映射的