Spring+Mybatis访问报错 java.lang.Mapped Statements collection already contains value
环境为Spring3+mybatis,采用mapping方式实现dao,xml对应。
情况是这样的,项目启动后页面$(document).ready会ajax访问后台同一个controller中的三个映射url完成页面三个表单的初始化工作。但是第一次访问总会有一至二个方法报错,报错内容为:
java.lang.IllegalArgumentException: Mapped Statements collection already contains value for xxx.xxx.dao.method
导致页面1,2处渲染出错。
网上查了以下原因,有说:mybatis并发错误,前台多个请求并发请求mapper
原因大概是请求时mybaits解析sql并执行导致的并发错误。
mybaits初始化时加上以下这句可以解决。让Mybatis初始化时就编译sql语句,
sqlSesssionTemplate.getConfiguration().buildAllStatement。
而我用的mapping方式,不知道在哪里设置k可以达到sqlSesssionTemplate.getConfiguration().buildAllStatement的效果
需要帮助,请大家协助~
配置文件应该都是对的,启动后第一次访问不成功,第二次就可以了。