这里记录一下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相关推荐

  1. 异常处理: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 ...

  2. 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 ...

  3. Mybatis There is no getter for property named 'XXX' in 'class java.lang.XXX

    Mybatis查询 使用Mybatis查询时,其参数可以是基本数据类型或者像Integer和String这样的简单的数据对象,也可以是复杂对象(一般是指JavaBean)或者map等,当使用基本数据类 ...

  4. 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 ...

  5. 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这 ...

  6. 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方 ...

  7. 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 ...

  8. 实力踩坑: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 ...

  9. There is no getter for property named 'xxx' in 'class.....'

    mybatis  There is no getter for property named 'xxx' in 'class.....' 在确定该字段在entity中添加了get set方法之后,通常 ...

最新文章

  1. 第八课.EM算法的合理性与算法推导
  2. 用Lean Pilots推动改进
  3. 使用STM32CubeMX,生成STM32F103ZE SPI3 HAL 工程
  4. CF 1529C Parsa‘s Humongous Tree
  5. 牛客15187 分元宵 (快速幂)
  6. javascript指南_JavaScript的完整指南
  7. 编程语言之问:何时该借用,何时该创造?
  8. Python全栈开发之Day02
  9. 3.emWin5.26(ucGui)VS2008 2-D图形库-基本绘图【Worldsing笔记】
  10. nokia 5220 XpressMusic 自己刷机
  11. mybatis mysql net教程_MyBatis 教程
  12. PMP认证的教材更新到第几版了?
  13. 贪心算法c语言部分背包,c语言背包问题_背包问题贪心算法_背包问题 贪心算法(13)...
  14. nginx学习-负载均衡-keepalived高可用-反向代理
  15. go语言实现2048小游戏(完整代码)
  16. python离线安装第三方库
  17. 浏览器调起app应用方法
  18. 工具人实锤!我用java中的文件IO流帮同事处理了足足18M的文本数据,泪目(一)
  19. Apache DolphinScheduler v2.0.1 Master 和 Worker 执行流程分析系列(三)
  20. mcnpf5输出结果_MCNP学习笔记-计数卡F6

热门文章

  1. lucene6.6+拼音分词+ik分词实现
  2. 各手机品牌系列侧重方向
  3. 淘淘商城分布式电商系统项目总结
  4. Mybatis 学习笔记
  5. 海南安全员A证怎么考多选题库
  6. 六类网线、五类网线混合组网利用普通HUB
  7. python打印商品列表_python 列表应用-简单的购物车
  8. 未来十年的音视频,教科书级别的Android音视频开发教程,学完我成功“挤进”了抖音音视频开发岗
  9. 伽罗华域上(Galois Field)上的四则运算-笔记
  10. 显示服务器人数已满,明日之后服务器人数已满怎么办 排队解决方法