主要日志:
Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.ifp.bizsupport.app.dao.group.HistoryMapper.BaseResultMap
词典翻译:结果映射集合已经包含值***.BaseResultMap
日志已经定位到问题在于 HistoryMapper.xml 文件了,所以我们就检查这个文件就好了!
1、逆向工程生成实体类、mapper接口和xml文件时,不删除原文件的话xml文件就会追加进去,造成两个
resultMap id="BaseResultMap"的标签,我检查一下,并没有重复命名BaseResultMap的标签。。。
2、parameterType="com.***" 里面尽量用全路径名(且保证路径正确),不然不同包下有相同类名也会报异常,我检查一下,依然不是此问题。。。
3、忽然灵光一闪,想到我还建了一个HistoryExtMapper.java和HistoryExtMapper.xml(项目规范自定义方法写在有Ext的接口里面),当然xml也是复制粘贴的。结果两个xml文件的namespace均指向了
<mapper namespace="com.ifp.bizsupport.app.dao.HistoryMapper" >(HistoryExtMapper.xml的路径当然要指向com.ifp.bizsupport.app.dao.HistoryExtMapper.java)。
修改,重启,成功!
bgm:经验+1!