当前使用版本(必须填写清楚,否则不予处理)
3.3.0
该问题是怎么引起的?(最新版上已修复的会直接close掉)
CourtUnit courtUnit = courtUnitService.getOne(Wrappers.
重现步骤
报错信息
java.lang.NoSuchMethodException: cn.com.xxxxx.base.entity.CourtUnit.isValidityFlag() at java.lang.Class.getMethod(Class.java:1786) at com.baomidou.mybatisplus.core.toolkit.ReflectionKit.getMethodValue(ReflectionKit.java:102) at com.baomidou.mybatisplus.core.toolkit.ReflectionKit.getMethodValue(ReflectionKit.java:136) at com.baomidou.mybatisplus.core.conditions.Wrapper.fieldStrategyMatch(Wrapper.java:139) at com.baomidou.mybatisplus.core.conditions.Wrapper.lambda$nonEmptyOfEntity$0(Wrapper.java:127) at java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90) at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1359) at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
Comment From: qmdx
CourtUnit.isValidityFlag 该方法你看看是不是数据库命名 is_... 字段? 建议修改命名方式不要 is 开头容易和 java 的 isXxx 混淆框架层读取错误
Comment From: IceFoxs
CourtUnit courtUnit = new CourtUnit();
courtUnit.setCourtCode(courtCode);
CourtUnit result = courtUnitService.getOne(Wrappers.
public void setValidityFlag(Boolean validityFlag) {
this.validityFlag = validityFlag;
}
CourtUnit.isValidityFlag 该方法你看看是不是数据库命名 is_... 字段? 建议修改命名方式不要 is 开头容易和 java 的 isXxx 混淆框架层读取错误
Comment From: IceFoxs
threw exception [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression 'ew.nonEmptyOfEntity and ew.nonEmptyOfNormal'. Cause: org.apache.ibatis.ognl.OgnlException: nonEmptyOfEntity [com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Error: NoSuchMethod in CourtUnit. Cause:]] with root cause java.lang.NoSuchMethodException: cn.com.chnsys.ecms.base.entity.CourtUnit.isValidityFlag() 无isValidityFlag()方法
Comment From: IceFoxs
CourtUnit.isValidityFlag 该方法你看看是不是数据库命名 is_... 字段? 建议修改命名方式不要 is 开头容易和 java 的 isXxx 混淆框架层读取错误 public static String guessGetterName(String name, Class<?> type) { if (ClassUtils.isBoolean(type)) { return name.startsWith("is") ? name : "is" + upperFirst(name); } return "get" + upperFirst(name); }
Comment From: IceFoxs
class ReflectionKit /* * 猜测方法名 * * @param field 字段 * @param str 属性字符串内容 / private static String guessGetterName(Field field, final String str) { return StringUtils.guessGetterName(str, field.getType()); }
3.2.0 无此StringUtils.guessGetterName方法 3.3.0有此方法
Comment From: IceFoxs
public static String getMethodCapitalize(Field field, final String str) { Class<?> fieldType = field.getType(); // fix #176 return StringUtils.concatCapitalize(boolean.class.equals(fieldType) ? "is" : "get", str); } issue 176
Comment From: miemieYaho
使用 3.3.1
Comment From: nieqiurong