报错,Result Maps collection alread
2018-04-10 本文已影响217人
rockops
环境: spring boot + mybatis
报错: Result Maps collection already contains value for xxx
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<mappers>
<mapper resource="mapper/HelloMapper.xml"/>
</mappers>
</configuration>
将mapper.xml删除,报错找不到mapper,证明这个mapper.xml是生效的。将mapper.xml的内容全部删除,写了一个最简单的<select>
,发现还是报错,这说明跟mapper.xml本身是没有关系的。
折腾了2个小时,终于搞明白了是怎么回事。
原来在spring boot的application.properties中,配置了
mybatis.config-location=classpath:mybatis-config.xml
mybatis.mapper-locations=classpath*:mapper/*.xml
这样相当于mapper的配置被配置了两遍,把mybatis-config.xml中的mappers部分删除,单测终于跑通。
spring boot的这个配置省的每次都要把xml写到mybatis-config.xml里边了