mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-08 09:38:26 +08:00
commit
126a99ba6a
@ -1,4 +1,5 @@
|
|||||||
#set(tableDefClassName = table.buildTableDefClassName())
|
#set(tableDefClassName = table.buildTableDefClassName())
|
||||||
|
#set(schema = table.schema == null ? "" : table.schema)
|
||||||
package #(packageConfig.tableDefPackage);
|
package #(packageConfig.tableDefPackage);
|
||||||
|
|
||||||
import com.mybatisflex.core.query.QueryColumn;
|
import com.mybatisflex.core.query.QueryColumn;
|
||||||
@ -12,17 +13,17 @@ import com.mybatisflex.core.table.TableDef;
|
|||||||
*/
|
*/
|
||||||
public class #(tableDefClassName) extends TableDef {
|
public class #(tableDefClassName) extends TableDef {
|
||||||
|
|
||||||
public static final #(tableDefClassName) #(tableDefConfig.buildFieldName(table.buildEntityClassName() + tableDefConfig.instanceSuffix)) = new #(tableDefClassName)("#(table.name)");
|
public static final #(tableDefClassName) #(tableDefConfig.buildFieldName(table.buildEntityClassName() + tableDefConfig.instanceSuffix)) = new #(tableDefClassName)();
|
||||||
|
|
||||||
#for(column: table.columns)
|
#for(column: table.columns)
|
||||||
public QueryColumn #(tableDefConfig.buildFieldName(column.property)) = new QueryColumn(this, "#(column.name)");
|
public final QueryColumn #(tableDefConfig.buildFieldName(column.property)) = new QueryColumn(this, "#(column.name)");
|
||||||
#end
|
#end
|
||||||
|
|
||||||
public QueryColumn #(tableDefConfig.buildFieldName("allColumns")) = new QueryColumn(this, "*");
|
public final QueryColumn #(tableDefConfig.buildFieldName("allColumns")) = new QueryColumn(this, "*");
|
||||||
public QueryColumn[] #(tableDefConfig.buildFieldName("defaultColumns")) = new QueryColumn[]{#for(column: table.columns) #if(!column.isLarge())#(tableDefConfig.buildFieldName(column.property))#if(for.index + 1 != for.size),#end#end#end};
|
public final QueryColumn[] #(tableDefConfig.buildFieldName("defaultColumns")) = new QueryColumn[]{#for(column: table.columns)#if(!column.isLarge())#(tableDefConfig.buildFieldName(column.property))#if(for.index + 1 != for.size), #end#end#end};
|
||||||
|
|
||||||
public #(tableDefClassName)(String tableName) {
|
public #(tableDefClassName)() {
|
||||||
super(tableName);
|
super("#(schema)", "#(table.name)");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -149,7 +149,7 @@ public class MybatisFlexProcessor extends AbstractProcessor {
|
|||||||
assert table != null;
|
assert table != null;
|
||||||
|
|
||||||
// 类属性 fix: https://gitee.com/mybatis-flex/mybatis-flex/issues/I7I08X
|
// 类属性 fix: https://gitee.com/mybatis-flex/mybatis-flex/issues/I7I08X
|
||||||
Set<ColumnInfo> columnInfos = new HashSet<>();
|
Set<ColumnInfo> columnInfos = new TreeSet<>();
|
||||||
// 默认查询的属性,非 isLarge 字段
|
// 默认查询的属性,非 isLarge 字段
|
||||||
List<String> defaultColumns = new ArrayList<>();
|
List<String> defaultColumns = new ArrayList<>();
|
||||||
|
|
||||||
|
|||||||
@ -65,17 +65,11 @@ public class ContentBuilder {
|
|||||||
content.append("// Auto generate by mybatis-flex, do not modify it.\n");
|
content.append("// Auto generate by mybatis-flex, do not modify it.\n");
|
||||||
content.append("public class ").append(tableDefClassName).append(" extends TableDef {\n\n");
|
content.append("public class ").append(tableDefClassName).append(" extends TableDef {\n\n");
|
||||||
if (!allInTablesEnable) {
|
if (!allInTablesEnable) {
|
||||||
String schema = !StrUtil.isBlank(table.schema())
|
|
||||||
? table.schema()
|
|
||||||
: "";
|
|
||||||
String tableName = !StrUtil.isBlank(table.value())
|
|
||||||
? table.value()
|
|
||||||
: StrUtil.firstCharToLowerCase(entityClassName);
|
|
||||||
content.append(" public static final ").append(tableDefClassName).append(' ').append(StrUtil.buildFieldName(entityClassName.concat(tableDefInstanceSuffix != null ? tableDefInstanceSuffix.trim() : ""), tableDefPropertiesNameStyle))
|
content.append(" public static final ").append(tableDefClassName).append(' ').append(StrUtil.buildFieldName(entityClassName.concat(tableDefInstanceSuffix != null ? tableDefInstanceSuffix.trim() : ""), tableDefPropertiesNameStyle))
|
||||||
.append(" = new ").append(tableDefClassName).append("(\"").append(schema).append("\", \"").append(tableName).append("\");\n\n");
|
.append(" = new ").append(tableDefClassName).append("();\n\n");
|
||||||
}
|
}
|
||||||
columnInfos.forEach((columnInfo) -> {
|
columnInfos.forEach((columnInfo) -> {
|
||||||
content.append(" public QueryColumn ")
|
content.append(" public final QueryColumn ")
|
||||||
.append(StrUtil.buildFieldName(columnInfo.getProperty(), tableDefPropertiesNameStyle))
|
.append(StrUtil.buildFieldName(columnInfo.getProperty(), tableDefPropertiesNameStyle))
|
||||||
.append(" = new QueryColumn(this, \"")
|
.append(" = new QueryColumn(this, \"")
|
||||||
.append(columnInfo.getColumn()).append("\"");
|
.append(columnInfo.getColumn()).append("\"");
|
||||||
@ -84,16 +78,22 @@ public class ContentBuilder {
|
|||||||
}
|
}
|
||||||
content.append(");\n");
|
content.append(");\n");
|
||||||
});
|
});
|
||||||
content.append(" public QueryColumn ").append(StrUtil.buildFieldName("allColumns", tableDefPropertiesNameStyle)).append(" = new QueryColumn(this, \"*\");\n");
|
content.append("\n public final QueryColumn ").append(StrUtil.buildFieldName("allColumns", tableDefPropertiesNameStyle)).append(" = new QueryColumn(this, \"*\");\n");
|
||||||
StringJoiner defaultColumnJoiner = new StringJoiner(", ");
|
StringJoiner defaultColumnJoiner = new StringJoiner(", ");
|
||||||
columnInfos.forEach((columnInfo) -> {
|
columnInfos.forEach((columnInfo) -> {
|
||||||
if (defaultColumns.contains(columnInfo.getColumn())) {
|
if (defaultColumns.contains(columnInfo.getColumn())) {
|
||||||
defaultColumnJoiner.add(StrUtil.buildFieldName(columnInfo.getProperty(), tableDefPropertiesNameStyle));
|
defaultColumnJoiner.add(StrUtil.buildFieldName(columnInfo.getProperty(), tableDefPropertiesNameStyle));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
content.append(" public QueryColumn[] ").append(StrUtil.buildFieldName("defaultColumns", tableDefPropertiesNameStyle)).append(" = new QueryColumn[]{").append(defaultColumnJoiner).append("};\n\n");
|
content.append(" public final QueryColumn[] ").append(StrUtil.buildFieldName("defaultColumns", tableDefPropertiesNameStyle)).append(" = new QueryColumn[]{").append(defaultColumnJoiner).append("};\n\n");
|
||||||
content.append(" public ").append(tableDefClassName).append("(String schema, String tableName) {\n")
|
String schema = !StrUtil.isBlank(table.schema())
|
||||||
.append(" super(schema, tableName);\n")
|
? table.schema()
|
||||||
|
: "";
|
||||||
|
String tableName = !StrUtil.isBlank(table.value())
|
||||||
|
? table.value()
|
||||||
|
: StrUtil.firstCharToLowerCase(entityClassName);
|
||||||
|
content.append(" public ").append(tableDefClassName).append("() {\n")
|
||||||
|
.append(" super").append("(\"").append(schema).append("\", \"").append(tableName).append("\");\n")
|
||||||
.append(" }\n\n}\n");
|
.append(" }\n\n}\n");
|
||||||
return content.toString();
|
return content.toString();
|
||||||
}
|
}
|
||||||
@ -107,8 +107,8 @@ public class ContentBuilder {
|
|||||||
importBuilder.toString() +
|
importBuilder.toString() +
|
||||||
"\n// Auto generate by mybatis-flex, do not modify it.\n" +
|
"\n// Auto generate by mybatis-flex, do not modify it.\n" +
|
||||||
"public class " + tablesClassName + " {\n\n" +
|
"public class " + tablesClassName + " {\n\n" +
|
||||||
" private " + tablesClassName + "() {\n" +
|
" private " + tablesClassName + "() {\n" +
|
||||||
" }\n\n" +
|
" }\n\n" +
|
||||||
fieldBuilder.toString() +
|
fieldBuilder.toString() +
|
||||||
"\n}\n";
|
"\n}\n";
|
||||||
}
|
}
|
||||||
@ -121,15 +121,9 @@ public class ContentBuilder {
|
|||||||
String tableDefPackage = StrUtil.buildTableDefPackage(entityClass);
|
String tableDefPackage = StrUtil.buildTableDefPackage(entityClass);
|
||||||
String tableDefClassName = entityClassName.concat(tableDefClassSuffix);
|
String tableDefClassName = entityClassName.concat(tableDefClassSuffix);
|
||||||
importBuilder.append("import ").append(tableDefPackage).append('.').append(tableDefClassName).append(";\n");
|
importBuilder.append("import ").append(tableDefPackage).append('.').append(tableDefClassName).append(";\n");
|
||||||
String schema = !StrUtil.isBlank(table.schema())
|
fieldBuilder.append(" public static final ").append(tableDefClassName).append(' ')
|
||||||
? table.schema()
|
|
||||||
: "";
|
|
||||||
String tableName = !StrUtil.isBlank(table.value())
|
|
||||||
? table.value()
|
|
||||||
: StrUtil.firstCharToLowerCase(entityClassName);
|
|
||||||
fieldBuilder.append(" public static final ").append(tableDefClassName).append(' ')
|
|
||||||
.append(StrUtil.buildFieldName(entityClassName.concat(tableDefInstanceSuffix != null ? tableDefInstanceSuffix.trim() : ""), tableDefPropertiesNameStyle))
|
.append(StrUtil.buildFieldName(entityClassName.concat(tableDefInstanceSuffix != null ? tableDefInstanceSuffix.trim() : ""), tableDefPropertiesNameStyle))
|
||||||
.append(" = new ").append(tableDefClassName).append("(\"").append(schema).append("\", \"").append(tableName).append("\");\n");
|
.append(" = new ").append(tableDefClassName).append("();\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -24,7 +24,7 @@ import java.util.Objects;
|
|||||||
* @author 王帅
|
* @author 王帅
|
||||||
* @since 2023-07-01
|
* @since 2023-07-01
|
||||||
*/
|
*/
|
||||||
public class ColumnInfo {
|
public class ColumnInfo implements Comparable<ColumnInfo> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 属性名。
|
* 属性名。
|
||||||
@ -82,4 +82,12 @@ public class ColumnInfo {
|
|||||||
return property != null ? property.hashCode() : 0;
|
return property != null ? property.hashCode() : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int compareTo(ColumnInfo o) {
|
||||||
|
// 先根据属性长度排序,属性名短的在上
|
||||||
|
int compare = Integer.compare(property.length(), o.property.length());
|
||||||
|
// 属性名长度一样,再按字母排序
|
||||||
|
return compare == 0 ? property.compareTo(o.property) : compare;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user