The
encountered the following exception when using MyBatis development:
Org.mybatis.spring.MyBatisSystemException:nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named ' Name ' in ' Class java.lang.String ' at Org.mybatis.spring.MyBatisExceptionTransla Tor.translateexceptionifpossible (mybatisexceptiontranslator.java:76) at org.mybatis.spring.sqlsessiontemplate$ Sqlsessioninterceptor.invoke (sqlsessiontemplate.java:399) at Sun.proxy. $Proxy 12.selectList (Unknown Source) at org. Mybatis.spring.SqlSessionTemplate.selectList (sqlsessiontemplate.java:205) at Org.apache.ibatis.binding.MapperMethod.executeForMany (mappermethod.java:122) at Org.apache.ibatis.binding.MapperMethod.execute (mappermethod.java:64) at Org.apache.ibatis.binding.MapperProxy.invoke (mapperproxy.java:53) at Sun.proxy. $Proxy 35.test (Unknown Source) at Co M.flf.service.impl.testserviceimpl.test (testserviceimpl.java:640) 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.a Op.support.AopUtils.invokeJoinpointUsingReflection (aoputils.java:317) 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:207 sun.proxy. $Proxy 39.test (Unknown Source) at Com.flf.controller.TestController.test ( testcontroller.java:455 in Sun.reflect.NativeMethodAccessorImpl.invoke0 (Native method) at Sun.reflect.NativeMetho Daccessorimpl.invoke (nativemethodaccessorimpl.java:57) at Sun.reflect.DelegatingMethodAccessorImpl.invoke ( delegatingmethodaccessorimpl.java:43) at Java.lang.reflect.Method.invoke (method.java:601) at ORG.SPRINGFRAMEWORK.W Eb.method.support.InvocableHandlerMethod.doInvoke (invocablehandlermethod.java:221) at Org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest (invocablehandlermethod.java:137
) At Org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle ( SERVLETINVOCABLEHANDLERMETHOD.JAVA:110) at Org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod ( requestmappinghandleradapter.java:776) at Org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal ( requestmappinghandleradapter.java:705) at Org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle ( abstracthandlermethodadapter.java:85) at Org.springframework.web.servlet.DispatcherServlet.doDispatch ( dispatcherservlet.java:959) at Org.springframework.web.servlet.DispatcherServlet.doService ( dispatcherservlet.java:893) at Org.springframework.web.servlet.FrameworkServlet.processRequest ( frameworkservlet.java:967) at Org.springframework.web.servlet.FrameworkServlet.doGet (frameworkservlet.java:858) A T Javax.servlet.http.HttpServlet.service (Httpservlet.java: 624) at Org.springframework.web.servlet.FrameworkServlet.service (frameworkservlet.java:843) at Javax.servlet.http . Httpservlet.service (httpservlet.java:731) at Org.apache.catalina.core.ApplicationFilterChain.internalDoFilter ( applicationfilterchain.java:303) at Org.apache.catalina.core.ApplicationFilterChain.doFilter ( applicationfilterchain.java:208) at Org.apache.tomcat.websocket.server.WsFilter.doFilter (wsfilter.java:52) at Org. Apache.catalina.core.ApplicationFilterChain.internalDoFilter (applicationfilterchain.java:241) at Org.apache.catalina.core.ApplicationFilterChain.doFilter (applicationfilterchain.java:208) at Org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal (characterencodingfilter.java:85) at Org.springframework.web.filter.OncePerRequestFilter.doFilter (onceperrequestfilter.java:107) at Org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (applicationfilterchain.java:241) at Org.apache.catalina.core.AppliCationfilterchain.dofilter (applicationfilterchain.java:208) at Org.apache.catalina.core.StandardWrapperValve.invoke (standardwrappervalve.java:220) at Org.apache.catalina.core.StandardContextValve.invoke (standardcontextvalve.java:122) at Org.apache.catalina.authenticator.AuthenticatorBase.invoke (authenticatorbase.java:505) at Org.apache.catalina.core.StandardHostValve.invoke (standardhostvalve.java:170) at Org.apache.catalina.valves.ErrorReportValve.invoke (errorreportvalve.java:103) at Org.apache.catalina.valves.AccessLogValve.invoke (accesslogvalve.java:950) at Org.apache.catalina.core.StandardEngineValve.invoke (standardenginevalve.java:116) at Org.apache.catalina.connector.CoyoteAdapter.service (coyoteadapter.java:423) at Org.apache.coyote.http11.AbstractHttp11Processor.process (abstracthttp11processor.java:1079) at Org.apache.coyote.abstractprotocol$abstractconnectionhandler.process (abstractprotocol.java:620) at Org.apache.tomcat.util.net.JIoEnDpoint$socketprocessor.run (jioendpoint.java:318) at Java.util.concurrent.ThreadPoolExecutor.runWorker (
threadpoolexecutor.java:1145) at Java.util.concurrent.threadpoolexecutor$worker.run (ThreadPoolExecutor.java:615) At Org.apache.tomcat.util.threads.taskthread$wrappingrunnable.run (taskthread.java:61) at Java.lang.Thread.run ( thread.java:722) caused By:org.apache.ibatis.reflection.ReflectionException:There is no getter to property named ' name ' In ' Class Java.lang.String ' at Org.apache.ibatis.reflection.Reflector.getGetInvoker (reflector.java:381) at ORG.A Pache.ibatis.reflection.MetaClass.getGetInvoker (metaclass.java:164) at Org.apache.ibatis.reflection.wrapper.BeanWrapper.getBeanProperty (beanwrapper.java:162) at Org.apache.ibatis.reflection.wrapper.BeanWrapper.get (beanwrapper.java:49) at Org.apache.ibatis.reflection.MetaObject.getValue (metaobject.java:122) at Org.apache.ibatis.scripting.xmltags.dynamiccontext$contextmap.get (dynamiccontext.java:94)
At Org.apache.ibatis.scripting.xmltags.dynamiccontext$contextaccessor.getproperty (DynamicContext.java:108) at org . Apache.ibatis.ognl.OgnlRuntime.getProperty (ognlruntime.java:2434) at Org.apache.ibatis.ognl.ASTProperty.getValueBody (astproperty.java:114) at Org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody (simplenode.java:212) at Org.apache.ibatis.ognl.SimpleNode.getValue (simplenode.java:258) at Org.apache.ibatis.ognl.ASTNotEq.getValueBody ( ASTNOTEQ.JAVA:50) at Org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody (simplenode.java:212) at Org.apache.iba Tis.ognl.SimpleNode.getValue (simplenode.java:258) at Org.apache.ibatis.ognl.ASTAnd.getValueBody (astand.java:61) A T Org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody (simplenode.java:212) at Org.apache.ibatis.ognl.SimpleNode.getValue (simplenode.java:258) at Org.apache.ibatis.ognl.Ognl.getValue ( ognl.java:494) at the Org.apache.ibatis.ognl.Ognl.getValue (ognl.java:458) at Org.apache.Ibatis.scripting.xmltags.OgnlCache.getValue (ognlcache.java:44) at Org.apache.ibatis.scripting.xmltags.ExpressionEvaluator.evaluateBoolean (expressionevaluator.java:32) at Org.apache.ibatis.scripting.xmltags.IfSqlNode.apply (ifsqlnode.java:34) at Org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply (mixedsqlnode.java:33) at ORG.APACHE.IBATIS.SCRIPTING.XMLTAGS.DYNAMICSQLSOURCE.GETBOUNDSQL (dynamicsqlsource.java:41) at ORG.APACHE.IBATIS.MAPPING.MAPPEDSTATEMENT.GETBOUNDSQL (mappedstatement.java:280) at Org.apache.ibatis.executor.CachingExecutor.query (cachingexecutor.java:80) at Org.apache.ibatis.session.defaults.DefaultSqlSession.selectList (defaultsqlsession.java:120) at Org.apache.ibatis.session.defaults.DefaultSqlSession.selectList (defaultsqlsession.java:113) 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.mybatis.sprin G.sqlsessiontemplate$sqlsessioninterceptor.invoke (sqlsessiontemplate.java:386) ... More
Paste the Mapper.xml test code:
<select id= "Getbyname" resulttype= "Test" parametertype= "String" >
select
ID, name from
tb_test
WHERE 1=1
<if test= "name!= null and name!=" "> and
name = #{name}
</if>
</SELECT&G T
This exception occurs because the parameter you passed in is not an object inside the entity, so MyBatis cannot find the Get method for the corresponding parameter.
Solution 1:
Change the parameter name to "_parameter" and "_parameter" as a built-in object for MyBatis, such as:
<select id= "Getbyname" resulttype= "Test" parametertype= "String" >
select
ID, name from
tb_test
WHERE 1=1
<if test= "_parameter!= null and _parameter!= '" "> and
name = #{_parameter}
</if >
</select>
Solution 2:
Precede the Mapper.java method parameter name with a @param annotation, such as:
Hajcommodity Getbyname (@Param ("name") String name);
If you encounter any other situation, please feel free to contact.