Nested exception is Org.apache.ibatis.reflection.ReflectionException:There are no getter for Propert

Source: Internet
Author: User

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.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.