!114 fix: 用户配置 large 字段或者 logicDelete 字段不应被添加在 default_column 中。

Merge pull request !114 from 王帅/main
This commit is contained in:
Michael Yang 2023-07-07 14:17:59 +00:00 committed by Gitee
commit 5b099886cf
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
3 changed files with 14 additions and 9 deletions

View File

@ -311,12 +311,13 @@ public class Column {
return importClasses; return importClasses;
} }
public boolean isLarge() { public boolean isDefaultColumn() {
if (columnConfig != null && columnConfig.getLarge() != null) { if (columnConfig == null) {
return columnConfig.getLarge(); return true;
} else {
return false;
} }
boolean isLarge = columnConfig.getLarge() != null && columnConfig.getLarge();
boolean isLogicDelete = columnConfig.getLogicDelete() != null && columnConfig.getLogicDelete();
return !isLarge && !isLogicDelete;
} }
@Override @Override

View File

@ -20,7 +20,7 @@ public class #(tableDefClassName) extends TableDef {
#end #end
public final QueryColumn #(tableDefConfig.buildFieldName("allColumns")) = new QueryColumn(this, "*"); public final QueryColumn #(tableDefConfig.buildFieldName("allColumns")) = new QueryColumn(this, "*");
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 final QueryColumn[] #(tableDefConfig.buildFieldName("defaultColumns")) = new QueryColumn[]{#for(column: table.columns)#if(column.isDefaultColumn())#(tableDefConfig.buildFieldName(column.property))#if(for.index + 1 != for.size), #end#end#end};
public #(tableDefClassName)() { public #(tableDefClassName)() {
super("#(schema)", "#(table.name)"); super("#(schema)", "#(table.name)");

View File

@ -16,7 +16,6 @@
package com.mybatisflex.codegen.test; package com.mybatisflex.codegen.test;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.codegen.Generator; import com.mybatisflex.codegen.Generator;
import com.mybatisflex.codegen.config.ColumnConfig; import com.mybatisflex.codegen.config.ColumnConfig;
import com.mybatisflex.codegen.config.GlobalConfig; import com.mybatisflex.codegen.config.GlobalConfig;
@ -24,6 +23,7 @@ import com.mybatisflex.codegen.config.TableConfig;
import com.mybatisflex.codegen.config.TableDefConfig; import com.mybatisflex.codegen.config.TableDefConfig;
import com.mybatisflex.spring.service.impl.CacheableServiceImpl; import com.mybatisflex.spring.service.impl.CacheableServiceImpl;
import com.zaxxer.hikari.HikariDataSource; import com.zaxxer.hikari.HikariDataSource;
import org.junit.Test;
import java.util.function.UnaryOperator; import java.util.function.UnaryOperator;
@ -149,7 +149,7 @@ public class GeneratorTest {
generator.generate(); generator.generate();
} }
// @Test @Test
public void testCodeGen3() { public void testCodeGen3() {
//配置数据源 //配置数据源
HikariDataSource dataSource = new HikariDataSource(); HikariDataSource dataSource = new HikariDataSource();
@ -176,16 +176,20 @@ public class GeneratorTest {
ColumnConfig columnConfig = new ColumnConfig(); ColumnConfig columnConfig = new ColumnConfig();
columnConfig.setColumnName("phonenumber"); columnConfig.setColumnName("phonenumber");
columnConfig.setLarge(true); columnConfig.setLarge(true);
columnConfig.setKeyType(KeyType.None);
TableConfig tableConfig = new TableConfig(); TableConfig tableConfig = new TableConfig();
tableConfig.setTableName("sys_user"); tableConfig.setTableName("sys_user");
tableConfig.addColumnConfig(columnConfig); tableConfig.addColumnConfig(columnConfig);
ColumnConfig logicDelete = new ColumnConfig();
logicDelete.setColumnName("del_flag");
logicDelete.setLogicDelete(true);
//设置表前缀和只生成哪些表 //设置表前缀和只生成哪些表
globalConfig.getStrategyConfig() globalConfig.getStrategyConfig()
.setTablePrefix("sys_") .setTablePrefix("sys_")
.setGenerateTable("sys_user") .setGenerateTable("sys_user")
.setColumnConfig(logicDelete)
.setTableConfig(tableConfig); .setTableConfig(tableConfig);
//配置生成 tableDef //配置生成 tableDef