Error code:
Org.apache.ibatis.exceptions.PersistenceException:
# # # Error Building sqlsession.
# # # The error may exist in Com/jkw100/mybatis/mapper/patientmapper.xml
# # # The error occurred while processing Mapper_resultmap[baseresultmap]
# # # Cause:org.apache.ibatis.builder.BuilderException:Error parsing SQL Mapper Configuration. Cause:org.apache.ibatis.builder.BuilderException:Error parsing Mapper XML. Cause:java.lang.IllegalArgumentException:Result Maps Collection already contains value for Com.jkw100.mybatis.mapper.PatientMapper.BaseResultMap
At Org.apache.ibatis.exceptions.ExceptionFactory.wrapException (exceptionfactory.java:30)
At Org.apache.ibatis.session.SqlSessionFactoryBuilder.build (sqlsessionfactorybuilder.java:82)
At Org.apache.ibatis.session.SqlSessionFactoryBuilder.build (sqlsessionfactorybuilder.java:66)
At Com.jkw100.mybatis.mapper.PatientMapperTest.setUp (patientmappertest.java:22)
At Sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
At Sun.reflect.NativeMethodAccessorImpl.invoke (nativemethodaccessorimpl.java:57)
At Sun.reflect.DelegatingMethodAccessorImpl.invoke (delegatingmethodaccessorimpl.java:43)
At Java.lang.reflect.Method.invoke (method.java:606)
At Org.junit.runners.model.frameworkmethod$1.runreflectivecall (frameworkmethod.java:45)
At Org.junit.internal.runners.model.ReflectiveCallable.run (reflectivecallable.java:15)
At org.junit.runners.model.FrameworkMethod.invokeExplosively (frameworkmethod.java:42)
At Org.junit.internal.runners.statements.RunBefores.evaluate (runbefores.java:27)
At Org.junit.runners.ParentRunner.runLeaf (parentrunner.java:263)
At Org.junit.runners.BlockJUnit4ClassRunner.runChild (blockjunit4classrunner.java:68)
At Org.junit.runners.BlockJUnit4ClassRunner.runChild (blockjunit4classrunner.java:47)
At Org.junit.runners.parentrunner$3.run (parentrunner.java:231)
At Org.junit.runners.parentrunner$1.schedule (parentrunner.java:60)
At Org.junit.runners.ParentRunner.runChildren (parentrunner.java:229)
At org.junit.runners.parentrunner.access$000 (parentrunner.java:50)
At Org.junit.runners.parentrunner$2.evaluate (parentrunner.java:222)
At Org.junit.runners.ParentRunner.run (parentrunner.java:300)
At Org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run (junit4testreference.java:50)
At Org.eclipse.jdt.internal.junit.runner.TestExecution.run (testexecution.java:38)
At Org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (remotetestrunner.java:459)
At Org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (remotetestrunner.java:675)
At Org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run (remotetestrunner.java:382)
At Org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (remotetestrunner.java:192)
caused By:org.apache.ibatis.builder.BuilderException:Error parsing SQL Mapper Configuration. Cause:org.apache.ibatis.builder.BuilderException:Error parsing Mapper XML. Cause:java.lang.IllegalArgumentException:Result Maps Collection already contains value for Com.jkw100.mybatis.mapper.PatientMapper.BaseResultMap
At Org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration (xmlconfigbuilder.java:115)
At Org.apache.ibatis.builder.xml.XMLConfigBuilder.parse (xmlconfigbuilder.java:95)
At Org.apache.ibatis.session.SqlSessionFactoryBuilder.build (sqlsessionfactorybuilder.java:80)
... More
caused By:org.apache.ibatis.builder.BuilderException:Error parsing Mapper XML. Cause:java.lang.IllegalArgumentException:Result Maps Collection already contains value for Com.jkw100.mybatis.mapper.PatientMapper.BaseResultMap
At Org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement (xmlmapperbuilder.java:120)
At Org.apache.ibatis.builder.xml.XMLMapperBuilder.parse (xmlmapperbuilder.java:92)
At Org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.loadXmlResource (Mapperannotationbuilder.java : 167)
At Org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.parse (mapperannotationbuilder.java:118)
At Org.apache.ibatis.binding.MapperRegistry.addMapper (mapperregistry.java:72)
At Org.apache.ibatis.binding.MapperRegistry.addMappers (mapperregistry.java:97)
At Org.apache.ibatis.binding.MapperRegistry.addMappers (mapperregistry.java:105)
At Org.apache.ibatis.session.Configuration.addMappers (configuration.java:667)
At Org.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement (xmlconfigbuilder.java:331)
At Org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration (xmlconfigbuilder.java:113)
... More
caused By:java.lang.IllegalArgumentException:Result Maps collection already contains value for Com.jkw100.mybatis.mapper.PatientMapper.BaseResultMap
At Org.apache.ibatis.session.configuration$strictmap.put (configuration.java:802)
At Org.apache.ibatis.session.configuration$strictmap.put (configuration.java:774)
At Org.apache.ibatis.session.Configuration.addResultMap (configuration.java:556)
At Org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap (mapperbuilderassistant.java:217)
At Org.apache.ibatis.builder.ResultMapResolver.resolve (resultmapresolver.java:47)
At Org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement (xmlmapperbuilder.java:285)
At Org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement (xmlmapperbuilder.java:252)
At Org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements (xmlmapperbuilder.java:244)
At Org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement (xmlmapperbuilder.java:116)
... More
Result Maps Collection already contains value for COM.JKW100.MYBATIS.MAPPER.PATIENTMAPPER.BASERESULTMAP See this because the name of the Mapper.xml file in the ID is baseresultmap duplicate remove duplicate resolve issue
When using MyBatis reverse engineering to automatically generate Mapper.xml, if you accidentally run more than once, then the code in the Mapper.xml file will have one more copy, which will cause the same ID to be two or more and the same file will not be generated more.
JUnit Test Error: # # # Error Building Sqlsession