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]