test: 测试生成内置数据脱敏处理器键(Masks)。

This commit is contained in:
Suomm 2024-03-29 12:22:18 +08:00
parent b0a3b358d7
commit e547e90dff

View File

@ -22,6 +22,7 @@ import com.mybatisflex.codegen.config.GlobalConfig;
import com.mybatisflex.codegen.config.TableConfig; import com.mybatisflex.codegen.config.TableConfig;
import com.mybatisflex.codegen.config.TableDefConfig; import com.mybatisflex.codegen.config.TableDefConfig;
import com.mybatisflex.codegen.constant.TemplateConst; import com.mybatisflex.codegen.constant.TemplateConst;
import com.mybatisflex.core.mask.Masks;
import com.zaxxer.hikari.HikariDataSource; import com.zaxxer.hikari.HikariDataSource;
import org.junit.Test; import org.junit.Test;
@ -32,7 +33,7 @@ public class GeneratorTest {
// @Test // @Test
public void testCodeGen1() { public void testCodeGen1() {
//配置数据源 // 配置数据源
HikariDataSource dataSource = new HikariDataSource(); HikariDataSource dataSource = new HikariDataSource();
dataSource.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/flex_test?characterEncoding=utf-8"); dataSource.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/flex_test?characterEncoding=utf-8");
dataSource.setUsername("root"); dataSource.setUsername("root");
@ -40,55 +41,55 @@ public class GeneratorTest {
GlobalConfig globalConfig = new GlobalConfig(); GlobalConfig globalConfig = new GlobalConfig();
//用户信息表用于存放用户信息 -> 用户信息 // 用户信息表用于存放用户信息 -> 用户信息
UnaryOperator<String> tableFormat = (e) -> e.split("")[0].replace("", ""); UnaryOperator<String> tableFormat = (e) -> e.split("")[0].replace("", "");
//设置注解生成配置 // 设置注解生成配置
globalConfig.setAuthor("Michael Yang"); globalConfig.setAuthor("Michael Yang");
globalConfig.setTableCommentFormat(tableFormat); globalConfig.setTableCommentFormat(tableFormat);
//设置生成文件目录和根包 // 设置生成文件目录和根包
globalConfig.setSourceDir(System.getProperty("user.dir") + "/src/test/java"); globalConfig.setSourceDir(System.getProperty("user.dir") + "/src/test/java");
globalConfig.setMapperXmlPath(System.getProperty("user.dir") + "/src/test/java/resources/mapper"); globalConfig.setMapperXmlPath(System.getProperty("user.dir") + "/src/test/java/resources/mapper");
globalConfig.setBasePackage("com.test"); globalConfig.setBasePackage("com.test");
//设置表前缀和只生成哪些表 // 设置表前缀和只生成哪些表
globalConfig.setTablePrefix("sys_", "tb_"); globalConfig.setTablePrefix("sys_", "tb_");
// globalConfig.setGenerateTable("sys_user","tb_account"); // globalConfig.setGenerateTable("sys_user","tb_account");
//设置模板路径 // 设置模板路径
// globalConfig.setEntityTemplatePath("D:\\Documents\\配置文件\\entity.tpl"); // globalConfig.setEntityTemplatePath("D:\\Documents\\配置文件\\entity.tpl");
//配置生成 entity // 配置生成 entity
globalConfig.setEntityGenerateEnable(true); globalConfig.setEntityGenerateEnable(true);
globalConfig.setEntityWithLombok(true); globalConfig.setEntityWithLombok(true);
globalConfig.setEntitySuperClass(BaseEntity.class); globalConfig.setEntitySuperClass(BaseEntity.class);
//配置生成 mapper // 配置生成 mapper
globalConfig.setMapperGenerateEnable(true); globalConfig.setMapperGenerateEnable(true);
//配置生成 service // 配置生成 service
globalConfig.setServiceGenerateEnable(true); globalConfig.setServiceGenerateEnable(true);
//配置生成 serviceImpl // 配置生成 serviceImpl
globalConfig.setServiceImplGenerateEnable(true); globalConfig.setServiceImplGenerateEnable(true);
//配置生成 controller // 配置生成 controller
globalConfig.setControllerGenerateEnable(true); globalConfig.setControllerGenerateEnable(true);
//配置生成 tableDef // 配置生成 tableDef
globalConfig.setTableDefGenerateEnable(true); globalConfig.setTableDefGenerateEnable(true);
//配置生成 mapperXml // 配置生成 mapperXml
globalConfig.setMapperXmlGenerateEnable(true); globalConfig.setMapperXmlGenerateEnable(true);
//配置生成 package-info.java // 配置生成 package-info.java
globalConfig.setPackageInfoGenerateEnable(true); globalConfig.setPackageInfoGenerateEnable(true);
//通过 datasource globalConfig 创建代码生成器 // 通过 datasource globalConfig 创建代码生成器
Generator generator = new Generator(dataSource, globalConfig); Generator generator = new Generator(dataSource, globalConfig);
//开始生成代码 // 开始生成代码
generator.generate(); generator.generate();
} }
// @Test // @Test
public void testCodeGen2() { public void testCodeGen2() {
//配置数据源 // 配置数据源
HikariDataSource dataSource = new HikariDataSource(); HikariDataSource dataSource = new HikariDataSource();
dataSource.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf-8"); dataSource.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf-8");
dataSource.setUsername("root"); dataSource.setUsername("root");
@ -96,69 +97,69 @@ public class GeneratorTest {
GlobalConfig globalConfig = new GlobalConfig(); GlobalConfig globalConfig = new GlobalConfig();
//用户信息表用于存放用户信息 -> 用户信息 // 用户信息表用于存放用户信息 -> 用户信息
UnaryOperator<String> tableFormat = (e) -> e.split("")[0].replace("", ""); UnaryOperator<String> tableFormat = (e) -> e.split("")[0].replace("", "");
//设置注解生成配置 // 设置注解生成配置
globalConfig.getJavadocConfig() globalConfig.getJavadocConfig()
.setAuthor("王帅") .setAuthor("王帅")
.setTableCommentFormat(tableFormat); .setTableCommentFormat(tableFormat);
//设置生成文件目录和根包 // 设置生成文件目录和根包
globalConfig.getPackageConfig() globalConfig.getPackageConfig()
.setSourceDir(System.getProperty("user.dir") + "/src/test/java") .setSourceDir(System.getProperty("user.dir") + "/src/test/java")
.setMapperXmlPath(System.getProperty("user.dir") + "/src/test/resources/mapper") .setMapperXmlPath(System.getProperty("user.dir") + "/src/test/resources/mapper")
.setBasePackage("com.test"); .setBasePackage("com.test");
//设置表前缀和只生成哪些表 // 设置表前缀和只生成哪些表
globalConfig.getStrategyConfig() globalConfig.getStrategyConfig()
.setTablePrefix("sys_") .setTablePrefix("sys_")
.setGenerateTable("sys_user"); .setGenerateTable("sys_user");
//设置模板路径 // 设置模板路径
//globalConfig.getTemplateConfig() // globalConfig.getTemplateConfig()
// .setEntity("D:\\Documents\\配置文件\\entity.tpl"); // .setEntity("D:\\Documents\\配置文件\\entity.tpl");
//配置生成 entity // 配置生成 entity
globalConfig.enableEntity() globalConfig.enableEntity()
.setOverwriteEnable(true) .setOverwriteEnable(true)
.setWithLombok(true) .setWithLombok(true)
.setWithSwagger(true) .setWithSwagger(true)
.setSuperClass(BaseEntity.class); .setSuperClass(BaseEntity.class);
//配置生成 mapper // 配置生成 mapper
globalConfig.enableMapper(); globalConfig.enableMapper();
//配置生成 service // 配置生成 service
globalConfig.enableService(); globalConfig.enableService();
//配置生成 serviceImpl // 配置生成 serviceImpl
globalConfig.enableServiceImpl() globalConfig.enableServiceImpl()
// .setSuperClass(CacheableServiceImpl.class) // .setSuperClass(CacheableServiceImpl.class)
.setCacheExample(true); .setCacheExample(true);
//配置生成 controller // 配置生成 controller
globalConfig.enableController(); globalConfig.enableController();
//配置生成 tableDef // 配置生成 tableDef
globalConfig.enableTableDef(); globalConfig.enableTableDef();
//配置生成 mapperXml // 配置生成 mapperXml
globalConfig.enableMapperXml(); globalConfig.enableMapperXml();
//配置生成 package-info.java // 配置生成 package-info.java
globalConfig.enablePackageInfo(); globalConfig.enablePackageInfo();
//通过 datasource globalConfig 创建代码生成器 // 通过 datasource globalConfig 创建代码生成器
Generator generator = new Generator(dataSource, globalConfig); Generator generator = new Generator(dataSource, globalConfig);
//开始生成代码 // 开始生成代码
generator.generate(); generator.generate();
} }
// @Test // @Test
public void testCodeGen3() { public void testCodeGen3() {
//配置数据源 // 配置数据源
HikariDataSource dataSource = new HikariDataSource(); HikariDataSource dataSource = new HikariDataSource();
dataSource.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf-8"); dataSource.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf-8");
dataSource.setUsername("root"); dataSource.setUsername("root");
dataSource.setPassword("123456"); dataSource.setPassword("123456");
//通过 datasource globalConfig 创建代码生成器 // 通过 datasource globalConfig 创建代码生成器
new Generator(dataSource, globalConfig()).generate(); new Generator(dataSource, globalConfig()).generate();
new Generator(dataSource, globalConfig()).generate(); new Generator(dataSource, globalConfig()).generate();
new Generator(dataSource, globalConfig()).generate(); new Generator(dataSource, globalConfig()).generate();
@ -167,18 +168,18 @@ public class GeneratorTest {
private GlobalConfig globalConfig() { private GlobalConfig globalConfig() {
GlobalConfig globalConfig = new GlobalConfig(); GlobalConfig globalConfig = new GlobalConfig();
//用户信息表用于存放用户信息 -> 用户信息 // 用户信息表用于存放用户信息 -> 用户信息
UnaryOperator<String> tableFormat = (e) -> e.split("")[0].replace("", ""); UnaryOperator<String> tableFormat = (e) -> e.split("")[0].replace("", "");
//属性添加句号 // 属性添加句号
UnaryOperator<String> columnFormat = (e) -> e.concat(""); UnaryOperator<String> columnFormat = (e) -> e.concat("");
//设置注解生成配置 // 设置注解生成配置
globalConfig.getJavadocConfig() globalConfig.getJavadocConfig()
.setAuthor("王帅") .setAuthor("王帅")
.setTableCommentFormat(tableFormat) .setTableCommentFormat(tableFormat)
.setColumnCommentFormat(columnFormat); .setColumnCommentFormat(columnFormat);
//设置生成文件目录和根包 // 设置生成文件目录和根包
globalConfig.getPackageConfig() globalConfig.getPackageConfig()
.setSourceDir(System.getProperty("user.dir") + "/src/test/java") .setSourceDir(System.getProperty("user.dir") + "/src/test/java")
.setMapperXmlPath(System.getProperty("user.dir") + "/src/test/java/resources/mapper") .setMapperXmlPath(System.getProperty("user.dir") + "/src/test/java/resources/mapper")
@ -196,14 +197,14 @@ public class GeneratorTest {
logicDelete.setColumnName("del_flag"); logicDelete.setColumnName("del_flag");
logicDelete.setLogicDelete(true); logicDelete.setLogicDelete(true);
//设置表前缀和只生成哪些表 // 设置表前缀和只生成哪些表
globalConfig.getStrategyConfig() globalConfig.getStrategyConfig()
.setTablePrefix("sys_") .setTablePrefix("sys_")
.setGenerateTable("sys_user") .setGenerateTable("sys_user")
.setColumnConfig(logicDelete) .setColumnConfig(logicDelete)
.setTableConfig(tableConfig); .setTableConfig(tableConfig);
//配置生成 tableDef // 配置生成 tableDef
globalConfig.enableTableDef() globalConfig.enableTableDef()
.setInstanceSuffix("Def") .setInstanceSuffix("Def")
.setPropertiesNameStyle(TableDefConfig.NameStyle.LOWER_CAMEL_CASE) .setPropertiesNameStyle(TableDefConfig.NameStyle.LOWER_CAMEL_CASE)
@ -270,10 +271,10 @@ public class GeneratorTest {
globalConfig.enableService(); globalConfig.enableService();
globalConfig.enableServiceImpl(); globalConfig.enableServiceImpl();
//通过 datasource globalConfig 创建代码生成器 // 通过 datasource globalConfig 创建代码生成器
Generator generator = new Generator(dataSource, globalConfig); Generator generator = new Generator(dataSource, globalConfig);
//开始生成代码 // 开始生成代码
generator.generate(); generator.generate();
} }
@ -317,9 +318,14 @@ public class GeneratorTest {
.setColumnName("update_time") .setColumnName("update_time")
.setOnUpdateValue("NOW()"); .setOnUpdateValue("NOW()");
ColumnConfig userNameConfig = ColumnConfig.create()
.setColumnName("user_name")
.setMaskType(Masks.CHINESE_NAME);
// sys_user 表单独配置 // sys_user 表单独配置
TableConfig userTableConfig = TableConfig.create() TableConfig userTableConfig = TableConfig.create()
.setTableName("sys_user") .setTableName("sys_user")
.setColumnConfig(userNameConfig)
.setColumnConfig(userColumnConfig); .setColumnConfig(userColumnConfig);
// 全局字段配置 // 全局字段配置
@ -335,14 +341,14 @@ public class GeneratorTest {
// 配置生成 entity // 配置生成 entity
globalConfig.enableEntity() globalConfig.enableEntity()
.setAlwaysGenColumnAnnotation(true) // .setAlwaysGenColumnAnnotation(true)
.setOverwriteEnable(true) .setOverwriteEnable(true)
.setWithLombok(true); .setWithLombok(true);
//通过 datasource globalConfig 创建代码生成器 // 通过 datasource globalConfig 创建代码生成器
Generator generator = new Generator(dataSource, globalConfig); Generator generator = new Generator(dataSource, globalConfig);
//开始生成代码 // 开始生成代码
generator.generate(); generator.generate();
} }