diff --git a/src/main/java/com/baomidou/mybatisplus/core/metadata/MPJTableFieldInfo.java b/src/main/java/com/baomidou/mybatisplus/core/metadata/MPJTableFieldInfo.java index 7b8e1f0..8d87637 100644 --- a/src/main/java/com/baomidou/mybatisplus/core/metadata/MPJTableFieldInfo.java +++ b/src/main/java/com/baomidou/mybatisplus/core/metadata/MPJTableFieldInfo.java @@ -17,7 +17,6 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; /** * 字段属性 @@ -162,9 +161,14 @@ public class MPJTableFieldInfo { } private void initBindField(String bindName) { - Field field = TableInfoHelper.getTableInfo(this.joinClass).getFieldList().stream() + TableInfo info = TableInfoHelper.getTableInfo(this.joinClass); + Field field = info.getFieldList().stream() .filter(i -> i.getColumn().equals(bindName)) .map(TableFieldInfo::getField).findFirst().orElse(null); + if (field == null && bindName.equals(info.getKeyColumn())) { + this.bindField = ReflectionKit.getFieldList(joinClass).stream().filter(f -> + f.getName().equals(info.getKeyProperty())).findFirst().orElse(null); + } if (field == null) { throw new MPJException("字段不存在 " + this.joinClass.getName() + " ," + bindName); } diff --git a/src/main/java/com/github/yulichang/interceptor/MPJInterceptor.java b/src/main/java/com/github/yulichang/interceptor/MPJInterceptor.java index 60a9bf9..bcd61a2 100644 --- a/src/main/java/com/github/yulichang/interceptor/MPJInterceptor.java +++ b/src/main/java/com/github/yulichang/interceptor/MPJInterceptor.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.metadata.TableInfoHelper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.StringPool; -import com.github.yulichang.config.InterceptorConfig; import com.github.yulichang.interfaces.MPJBaseJoin; import com.github.yulichang.method.MPJResultType; import com.github.yulichang.toolkit.Constant; diff --git a/src/main/java/com/github/yulichang/method/SelectJoinCount.java b/src/main/java/com/github/yulichang/method/SelectJoinCount.java index 628d277..f573f1b 100644 --- a/src/main/java/com/github/yulichang/method/SelectJoinCount.java +++ b/src/main/java/com/github/yulichang/method/SelectJoinCount.java @@ -1,7 +1,6 @@ package com.github.yulichang.method; import com.baomidou.mybatisplus.core.metadata.TableInfo; -import com.baomidou.mybatisplus.core.toolkit.sql.SqlScriptUtils; import org.apache.ibatis.mapping.MappedStatement; import org.apache.ibatis.mapping.SqlSource; diff --git a/src/main/java/com/github/yulichang/method/SqlMethod.java b/src/main/java/com/github/yulichang/method/SqlMethod.java index 268c165..280c6d1 100644 --- a/src/main/java/com/github/yulichang/method/SqlMethod.java +++ b/src/main/java/com/github/yulichang/method/SqlMethod.java @@ -36,12 +36,11 @@ public enum SqlMethod { ""); private final String method; - private final String desc; private final String sql; + @SuppressWarnings("unused") SqlMethod(String method, String desc, String sql) { this.method = method; - this.desc = desc; this.sql = sql; } @@ -49,9 +48,6 @@ public enum SqlMethod { return method; } - public String getDesc() { - return desc; - } public String getSql() { return sql; diff --git a/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java b/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java index 3243e32..65db62e 100644 --- a/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java +++ b/src/main/java/com/github/yulichang/query/MPJLambdaQueryWrapper.java @@ -186,6 +186,7 @@ public class MPJLambdaQueryWrapper extends AbstractLambdaWrapper selectAll(Class clazz, String as) { TableInfo info = TableInfoHelper.getTableInfo(clazz); Assert.notNull(info, "can not find table info"); @@ -251,4 +252,4 @@ public class MPJLambdaQueryWrapper extends AbstractLambdaWrapper !Modifier.isStatic(f.getModifiers())) - /* 过滤 transient关键字修饰的属性 */ - .filter(f -> !Modifier.isTransient(f.getModifiers())) - .collect(Collectors.toList()); + /* 过滤静态属性 */ + .filter(f -> !Modifier.isStatic(f.getModifiers())) + /* 过滤 transient关键字修饰的属性 */ + .filter(f -> !Modifier.isTransient(f.getModifiers())) + .collect(Collectors.toList()); }); } @@ -159,12 +160,12 @@ public final class ReflectionKit { public static Map excludeOverrideSuperField(Field[] fields, List superFieldList) { // 子类属性 Map fieldMap = Stream.of(fields).collect(toMap(Field::getName, identity(), - (u, v) -> { - throw new IllegalStateException(String.format("Duplicate key %s", u)); - }, - LinkedHashMap::new)); + (u, v) -> { + throw new IllegalStateException(String.format("Duplicate key %s", u)); + }, + LinkedHashMap::new)); superFieldList.stream().filter(field -> !fieldMap.containsKey(field.getName())) - .forEach(f -> fieldMap.put(f.getName(), f)); + .forEach(f -> fieldMap.put(f.getName(), f)); return fieldMap; }