fix 主键字段映射错误

This commit is contained in:
yulichang 2021-12-03 23:05:13 +08:00
parent 6c60769c5e
commit 14a0448b6a
6 changed files with 23 additions and 23 deletions

View File

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

View File

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

View File

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

View File

@ -36,12 +36,11 @@ public enum SqlMethod {
"<script>\n%s SELECT %s FROM %s %s %s %s %s\n</script>");
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;

View File

@ -186,6 +186,7 @@ public class MPJLambdaQueryWrapper<T> extends AbstractLambdaWrapper<T, MPJLambda
* @param clazz 表实体
* @param as 表别名
*/
@SuppressWarnings("DuplicatedCode")
public final MPJLambdaQueryWrapper<T> selectAll(Class<?> clazz, String as) {
TableInfo info = TableInfoHelper.getTableInfo(clazz);
Assert.notNull(info, "can not find table info");

View File

@ -15,15 +15,16 @@
*/
package com.github.yulichang.toolkit;
import com.baomidou.mybatisplus.core.toolkit.*;
import com.baomidou.mybatisplus.core.toolkit.Assert;
import com.baomidou.mybatisplus.core.toolkit.ClassUtils;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.ExceptionUtils;
import org.apache.ibatis.logging.Log;
import org.apache.ibatis.logging.LogFactory;
import org.springframework.core.GenericTypeResolver;
import java.lang.reflect.AccessibleObject;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.security.AccessController;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;