Caused by: org.apache.ibatis.reflection.ReflectionException: Error parsing property name 'lambda$pages$4d14352e$1'. Didn't start with 'is', 'get' or 'set'.
问题描述
1、编译过程是不会被发现的;
2、运行时报错:Caused by: org.apache.ibatis.reflection.ReflectionException: Error parsing property name 'lambda$pages$4d14352e$1'. Didn't start with 'is', 'get' or 'set'。
问题分析
MyBatis-Plus的条件构造器常用方法不支持lambda表达式传参,如果使用lambda表达式传参将会导致反射失败。
Page<JeiEntity> jeiPage = wrapper.like(x->x.getName(), jeiQuery.getName()) .between(StringUtils.isNotBlank(jeiQuery.getBeginTime()) && StringUtils.isNotBlank(jeiQuery.getEndTime()), x->x.getUpdated(), jeiQuery.getBeginTime(), jeiQuery.getEndTime()) // .orderByDesc(BaseEntity::getId, JeiEntity::getName) .page(TableSupport.getPage());
解决办法
MyBatis-Plus的条件构造器常用方法参数需要使用方法引用传参。
Page<JeiEntity> jeiPage = wrapper.like(JeiEntity::getName, jeiQuery.getName()) .between(StringUtils.isNotBlank(jeiQuery.getBeginTime()) && StringUtils.isNotBlank(jeiQuery.getEndTime()), BaseEntity::getUpdated, jeiQuery.getBeginTime(), jeiQuery.getEndTime()) // .orderByDesc(BaseEntity::getId, JeiEntity::getName) .page(TableSupport.getPage());
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结