mybatis启动报错Mapped Statements collection already contains value for com.autoyol.mapper.trans.TransDispatchingMapper解决

1.检查sqlsession配置,在applicationContext文件中。检查mybatis配置文件。

2.检查TransDispatchingMapper.java 是接口类,无注解。

3.TransDispatchingMapper.xml的命名空间就是TransDispatchingMapper接口类的地址,这个不能写错,否则会报错。

4.xml文件格式要求严格,如大于号,小于号,注释符号多了几个--,文件第一行留有空格,${}写错成中括号等,都会报错,所以除了仔细还是仔细,在开发过程中就遇到了这个问题,浪费了2小时的排错时间,最终是sql有误。。

UPDATE trans_dispatching SET update_time=NOW(),dispatching_flag=2 
        ,new_owner_no=#{newOwnerNo],new_car_no=#{newCarNo},new_rent_amt=#{newRentAmt},new_insurance=#{newInsurance} 
        WHERE order_no=#{orderNo} AND car_no=#{carNo}

是${}而不是${],但是启动报错信息也报的含糊,报错信息的意思是说该sqlMap的ID已经存在过了。。

原文地址:https://www.cnblogs.com/simpledev/p/5426734.html