长枪不倒 发表于 2017-12-24 08:27:55

org.apache.ibatis.builder.IncompleteElementException: Could not find parameter m

  用了很久的myBatis,忽然出现这个错误,感觉配置什么的都是正确的,错误如下:
  

org.apache.ibatis.builder.IncompleteElementException: Could not find parameter map com.hyzn.historicalRecord.dao.ITB_HISTORYLOGDAO.TB_HISTORYLOGResultMap  
at org.apache.ibatis.builder.MapperBuilderAssistant.setStatementParameterMap(MapperBuilderAssistant.java:
319)  
at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:
283)  
at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:
107)  
at org.apache.ibatis.session.Configuration.buildAllStatements(Configuration.java:
698)  
at org.apache.ibatis.session.Configuration.hasStatement(Configuration.java:
668)  
at org.apache.ibatis.session.Configuration.hasStatement(Configuration.java:
663)  
at org.apache.ibatis.binding.MapperMethod$SqlCommand.
<init>(MapperMethod.java:180)  
at org.apache.ibatis.binding.MapperMethod.
<init>(MapperMethod.java:43)  
at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:
58)  
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:
51)  
at com.sun.proxy.$Proxy13.qryTB_HISTORYLOG(Unknown Source)
  
at com.hyzn.historicalRecord.service.impl.HistoricalRecordServiceImpl.qryTB_HISTORYLOG(HistoricalRecordServiceImpl.java:
103)  
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:
601)  
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:
302)  
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:
190)  
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:
157)  
at org.springframework.transaction.interceptor.TransactionInterceptor$
1.proceedWithInvocation(TransactionInterceptor.java:99)  
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:
281)  
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:
96)  
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:
179)  
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:
92)  
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:
179)  
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:
208)  
at com.sun.proxy.$Proxy15.qryTB_HISTORYLOG(Unknown Source)
  
at com.hyzn.hotelInfo.test.HotelInfoTest.test(HotelInfoTest.java:
39)  
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:
601)  
at org.junit.runners.model.FrameworkMethod$
1.runReflectiveCall(FrameworkMethod.java:44)  
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:
15)  
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:
41)  
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:
20)  
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:
28)  
at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:
79)  
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:
71)  
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:
49)  
at org.junit.runners.ParentRunner$
3.run(ParentRunner.java:193)  
at org.junit.runners.ParentRunner$
1.schedule(ParentRunner.java:52)  
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:
191)  
at org.junit.runners.ParentRunner.access$
000(ParentRunner.java:42)  
at org.junit.runners.ParentRunner$
2.evaluate(ParentRunner.java:184)  
at org.junit.runners.ParentRunner.run(ParentRunner.java:
236)  
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:
467)  
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:
683)  
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:
390)  
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:
197)  
Caused by: java.lang.IllegalArgumentException: Parameter Maps collection does not contain value
for com.hyzn.historicalRecord.dao.ITB_HISTORYLOGDAO.TB_HISTORYLOGResultMap  
at org.apache.ibatis.session.Configuration$StrictMap.get(Configuration.java:
797)  
at org.apache.ibatis.session.Configuration.getParameterMap(Configuration.java:
570)  
at org.apache.ibatis.builder.MapperBuilderAssistant.setStatementParameterMap(MapperBuilderAssistant.java:
317)  
...
51 more  

  mybaties中只要有任何一个地方报错,都无法通过。
  最后发现是select方法上将 resultMap 写成了parameterMap 了,之所以会写错,是因为在编写配置文件时,会提示parameterMap ,但是这个在mybaties中已经不再用这个属性了。
  都是马虎惹的祸。
页: [1]
查看完整版本: org.apache.ibatis.builder.IncompleteElementException: Could not find parameter m