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;
}