There is no getter for property named xxx in xxx
这里记录一下bug.使用mybatis报错!
启动项目是正常的,访问报错:
2020-06-30 11:38:28.988 | ERROR | | | http-nio-8080-exec-1 -> CustomExceptionResolver#: | CustomExceptionResolver:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'record' in 'class com.xxx.xxx.xxx.dao.model.Contract'at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:77)at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)at com.sun.proxy.$Proxy126.selectOne(Unknown Source)at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:166)at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:87)at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:58)at com.sun.proxy.$Proxy142.pageTotal(Unknown Source)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.base/java.lang.reflect.Method.invoke(Method.java:566)at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)at com.sun.proxy.$Proxy143.pageTotal(Unknown Source)at com.xxxx.xxxx.xxxx.business.info.ContractInfoBusiness.pageTotal(ContractInfoBusiness.java:537)at com.xxxx.xxxx.xxxx.business.info.ContractInfoBusiness.listSelective(ContractInfoBusiness.java:120)at com.xxxx.xxxx.xxxx.controller.ContractController.pageListContracts(ContractController.java:147)at com.xxxx.xxxx.xxxx.controller.ContractController$$FastClassBySpringCGLIB$$9d0553bb.invoke(<generated>)at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:119)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)at com.xxxx.xxxx.xxxx.controller.ContractController$$EnhancerBySpringCGLIB$$6eeffdb7.pageListContracts(<generated>)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.base/java.lang.reflect.Method.invoke(Method.java:566)at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189)at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:800)at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038)at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908)at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.springframework.boot.actuate.web.trace.servlet.HttpTraceFilter.doFilterInternal(HttpTraceFilter.java:90)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(WebMvcMetricsFilter.java:117)at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:106)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'record' in 'class com.xxxx.xxxx.xxxx.dao.model.Contract'at org.apache.ibatis.reflection.Reflector.getGetInvoker(Reflector.java:395)at org.apache.ibatis.reflection.MetaClass.getGetInvoker(MetaClass.java:163)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.reflection.MetaObject.metaObjectForProperty(MetaObject.java:145)at org.apache.ibatis.reflection.MetaObject.getValue(MetaObject.java:115)at org.apache.ibatis.executor.BaseExecutor.createCacheKey(BaseExecutor.java:219)at org.apache.ibatis.executor.CachingExecutor.createCacheKey(CachingExecutor.java:146)at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:82)at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:76)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.base/java.lang.reflect.Method.invoke(Method.java:566)at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:433)... 94 more
引起原因是因为缺少绑定
原始dao接口:
/*** MyBatis Generator* 根据动态条件获取列表总数(pageSize或pageNo传0不加入分页)contract*/@SelectProvider(type=ContractSqlProvider.class, method="pageTotal")int pageTotal(Contract record);
原始mapper.xml文件:
/*** 获取分页查询总条数*/public String pageTotal(Contract record) {SQL sql = new SQL();sql.SELECT("count(*)");sql.FROM("table");if (record.getContent() != null) {sql.WHERE("content = #{record.content,jdbcType=VARCHAR}");}if (record.getCreateTime() != null) {sql.WHERE("create_time = #{record.createTime,jdbcType=TIMESTAMP}");}if (record.getModifiedTime() != null) {sql.WHERE("modified_time = #{record.modifiedTime,jdbcType=TIMESTAMP}");}sql.WHERE("del_flag = 1");return sql.toString();}
修改后的正确写法为:
添加 @Param(“record”)
/*** MyBatis Generator* 根据动态条件获取列表总数(pageSize或pageNo传0不加入分页)contract*/@SelectProvider(type=ContractSqlProvider.class, method="pageTotal")int pageTotal(@Param("record") Contract record);
再重启动测试就OK!
欢迎大佬们留言评论,共同学习!!!感谢!!!
===========================
原创文章,转载注明出处!
There is no getter for property named xxx in xxx相关推荐
- 异常处理:Mybatis报错:There is no getter for property named ‘xxxx‘ in ‘class xxx‘
异常处理:Mybatis报错:There is no getter for property named 'xxxx' in 'class xxx' 参考文章: (1)异常处理:Mybatis报错:T ...
- org.apache.ibatis.reflection.ReflectionException: There is no getter for property named XXX
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.Reflecti ...
- Mybatis There is no getter for property named 'XXX' in 'class java.lang.XXX
Mybatis查询 使用Mybatis查询时,其参数可以是基本数据类型或者像Integer和String这样的简单的数据对象,也可以是复杂对象(一般是指JavaBean)或者map等,当使用基本数据类 ...
- Mybatis异常There is no getter for property named ‘XXX‘ in ‘class java.lang.String‘
Mybatis异常There is no getter for property named 'XXX' in 'class java.lang.String' 参考文章: (1)Mybatis异常T ...
- Mybatis-no getter for property named 'col_name' in 'class com.xxx.onebean'
Mybatis中出现该异常 There is no getter for property named 'col_name' in 'class com.xxx.onebean 意思是onebean这 ...
- mybatis-plus报错There is no getter for property named ‘null‘ in ‘xx‘和Could not set property ‘XXX‘ of ‘
坑一:mybatis-plus生成的代码如果报错:There is no getter for property named 'null' in 'xx' 一般是在调用封装的diupdateById方 ...
- There is no getter for property named ‘xxx‘ in ‘class com.test.project.entity.
SpringBoot 项目使用mybatis操作数据库时报错 There is no getter for property named 'xxx' in 'class com.test.projec ...
- 实力踩坑:There is no getter for property named ‘XXX‘ ‘class XXX‘
实力踩坑:There is no getter for property named 'XXX' 'class XXX' 1.异常错误日志 2.分析原因解决 1.异常错误日志 org.apache.i ...
- There is no getter for property named 'xxx' in 'class.....'
mybatis There is no getter for property named 'xxx' in 'class.....' 在确定该字段在entity中添加了get set方法之后,通常 ...
最新文章
- 第八课.EM算法的合理性与算法推导
- 用Lean Pilots推动改进
- 使用STM32CubeMX,生成STM32F103ZE SPI3 HAL 工程
- CF 1529C Parsa‘s Humongous Tree
- 牛客15187 分元宵 (快速幂)
- javascript指南_JavaScript的完整指南
- 编程语言之问:何时该借用,何时该创造?
- Python全栈开发之Day02
- 3.emWin5.26(ucGui)VS2008 2-D图形库-基本绘图【Worldsing笔记】
- nokia 5220 XpressMusic 自己刷机
- mybatis mysql net教程_MyBatis 教程
- PMP认证的教材更新到第几版了?
- 贪心算法c语言部分背包,c语言背包问题_背包问题贪心算法_背包问题 贪心算法(13)...
- nginx学习-负载均衡-keepalived高可用-反向代理
- go语言实现2048小游戏(完整代码)
- python离线安装第三方库
- 浏览器调起app应用方法
- 工具人实锤!我用java中的文件IO流帮同事处理了足足18M的文本数据,泪目(一)
- Apache DolphinScheduler v2.0.1 Master 和 Worker 执行流程分析系列(三)
- mcnpf5输出结果_MCNP学习笔记-计数卡F6
热门文章
- lucene6.6+拼音分词+ik分词实现
- 各手机品牌系列侧重方向
- 淘淘商城分布式电商系统项目总结
- Mybatis 学习笔记
- 海南安全员A证怎么考多选题库
- 六类网线、五类网线混合组网利用普通HUB
- python打印商品列表_python 列表应用-简单的购物车
- 未来十年的音视频,教科书级别的Android音视频开发教程,学完我成功“挤进”了抖音音视频开发岗
- 伽罗华域上(Galois Field)上的四则运算-笔记
- 显示服务器人数已满,明日之后服务器人数已满怎么办 排队解决方法