|
@@ -15,16 +15,12 @@
|
|
*/
|
|
*/
|
|
package com.baomidou.mybatisplus.core.toolkit;
|
|
package com.baomidou.mybatisplus.core.toolkit;
|
|
|
|
|
|
-import static java.util.stream.Collectors.toList;
|
|
|
|
-
|
|
|
|
-import java.lang.reflect.Field;
|
|
|
|
-import java.util.ArrayList;
|
|
|
|
-import java.util.Arrays;
|
|
|
|
-import java.util.List;
|
|
|
|
-import java.util.Map;
|
|
|
|
-import java.util.Objects;
|
|
|
|
-import java.util.concurrent.ConcurrentHashMap;
|
|
|
|
-
|
|
|
|
|
|
+import com.baomidou.mybatisplus.annotation.*;
|
|
|
|
+import com.baomidou.mybatisplus.core.config.GlobalConfig;
|
|
|
|
+import com.baomidou.mybatisplus.core.incrementer.IKeyGenerator;
|
|
|
|
+import com.baomidou.mybatisplus.core.metadata.TableFieldInfo;
|
|
|
|
+import com.baomidou.mybatisplus.core.metadata.TableInfo;
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.sql.SqlHelper;
|
|
import org.apache.ibatis.builder.MapperBuilderAssistant;
|
|
import org.apache.ibatis.builder.MapperBuilderAssistant;
|
|
import org.apache.ibatis.executor.keygen.KeyGenerator;
|
|
import org.apache.ibatis.executor.keygen.KeyGenerator;
|
|
import org.apache.ibatis.executor.keygen.NoKeyGenerator;
|
|
import org.apache.ibatis.executor.keygen.NoKeyGenerator;
|
|
@@ -39,16 +35,11 @@ import org.apache.ibatis.scripting.LanguageDriver;
|
|
import org.apache.ibatis.session.Configuration;
|
|
import org.apache.ibatis.session.Configuration;
|
|
import org.apache.ibatis.session.SqlSessionFactory;
|
|
import org.apache.ibatis.session.SqlSessionFactory;
|
|
|
|
|
|
-import com.baomidou.mybatisplus.annotation.IdType;
|
|
|
|
-import com.baomidou.mybatisplus.annotation.KeySequence;
|
|
|
|
-import com.baomidou.mybatisplus.annotation.TableField;
|
|
|
|
-import com.baomidou.mybatisplus.annotation.TableId;
|
|
|
|
-import com.baomidou.mybatisplus.annotation.TableName;
|
|
|
|
-import com.baomidou.mybatisplus.core.config.GlobalConfig;
|
|
|
|
-import com.baomidou.mybatisplus.core.incrementer.IKeyGenerator;
|
|
|
|
-import com.baomidou.mybatisplus.core.metadata.TableFieldInfo;
|
|
|
|
-import com.baomidou.mybatisplus.core.metadata.TableInfo;
|
|
|
|
-import com.baomidou.mybatisplus.core.toolkit.sql.SqlHelper;
|
|
|
|
|
|
+import java.lang.reflect.Field;
|
|
|
|
+import java.util.*;
|
|
|
|
+import java.util.concurrent.ConcurrentHashMap;
|
|
|
|
+
|
|
|
|
+import static java.util.stream.Collectors.toList;
|
|
|
|
|
|
/**
|
|
/**
|
|
* <p>
|
|
* <p>
|
|
@@ -433,19 +424,21 @@ public class TableInfoHelper {
|
|
* @return related
|
|
* @return related
|
|
*/
|
|
*/
|
|
public static boolean checkRelated(boolean underCamel, String property, String column) {
|
|
public static boolean checkRelated(boolean underCamel, String property, String column) {
|
|
|
|
+ boolean existEscape = false;
|
|
if (!StringUtils.isColumnName(column)) {
|
|
if (!StringUtils.isColumnName(column)) {
|
|
- //首尾有转义符
|
|
|
|
|
|
+ // 首尾有转义符,手动在注解里设置了转义符
|
|
column = column.substring(1, column.length() - 1);
|
|
column = column.substring(1, column.length() - 1);
|
|
|
|
+ existEscape = true;
|
|
}
|
|
}
|
|
- if (underCamel) {
|
|
|
|
|
|
+ if (underCamel && !existEscape) {
|
|
/**
|
|
/**
|
|
- * 开启了驼峰,判断 property 下划线后是否与 column 相同 (全部转为小写)
|
|
|
|
|
|
+ * 开启了驼峰并且没使用注解里弄上转义符,判断 property 下划线后是否与 column 相同 (全部转为小写)
|
|
* 相同则不需要 as ,则 related 为 false
|
|
* 相同则不需要 as ,则 related 为 false
|
|
*/
|
|
*/
|
|
return !StringUtils.camelToUnderline(property).equals(column.toLowerCase());
|
|
return !StringUtils.camelToUnderline(property).equals(column.toLowerCase());
|
|
} else {
|
|
} else {
|
|
/**
|
|
/**
|
|
- * 未开启驼峰,判断 property 是否与 column 相同
|
|
|
|
|
|
+ * 未开启驼峰或者手动设置了转义符,判断 property 是否与 column 相同
|
|
* 相同则不需要 as ,则 related 为 false
|
|
* 相同则不需要 as ,则 related 为 false
|
|
*/
|
|
*/
|
|
return !property.equals(column);
|
|
return !property.equals(column);
|