1.新增生成代码的名称替换配置项

This commit is contained in:
mayihua 2023-04-24 10:23:15 +08:00
parent b103adda23
commit c1d070719b
3 changed files with 34 additions and 4 deletions

View File

@ -129,6 +129,9 @@ public class QueryEntityProcessor extends AbstractProcessor {
String mappersGenerateEnable = props.getProperties().getProperty("processor.mappersGenerateEnable", "true"); String mappersGenerateEnable = props.getProperties().getProperty("processor.mappersGenerateEnable", "true");
String genMappersPackage = props.getProperties().getProperty("processor.mappersPackage"); String genMappersPackage = props.getProperties().getProperty("processor.mappersPackage");
String className = props.getProperties().getProperty("processor.tablesClassName", "Tables"); String className = props.getProperties().getProperty("processor.tablesClassName", "Tables");
String entityNameReplaceEnabled = props.getProperties().getProperty("processor.entityName.replace.enabled", "false");
String entityNameReplaceRegex = props.getProperties().getProperty("processor.entityName.replace.regex", "");
String entityNameReplaceReplacement = props.getProperties().getProperty("processor.entityName.replace.replacement", "");
StringBuilder guessPackage = new StringBuilder(); StringBuilder guessPackage = new StringBuilder();
@ -164,14 +167,20 @@ public class QueryEntityProcessor extends AbstractProcessor {
} while (classElement != null); } while (classElement != null);
String entityClassName = entityClassElement.getSimpleName().toString(); String entityClassName = entityClassElement.getSimpleName().toString();
tablesContent.append(buildTablesClass(entityClassName, tableName, propertyAndColumns, defaultColumns));
String entityName = entityClassName;
if("true".equals(entityNameReplaceEnabled)){
entityName = entityName.replace(entityNameReplaceRegex, entityNameReplaceReplacement);
}
tablesContent.append(buildTablesClass(entityName, tableName, propertyAndColumns, defaultColumns));
//是否开启 mapper 生成功能 //是否开启 mapper 生成功能
if ("true".equalsIgnoreCase(mappersGenerateEnable) && table.mapperGenerateEnable()) { if ("true".equalsIgnoreCase(mappersGenerateEnable) && table.mapperGenerateEnable()) {
String realMapperPackage = genMappersPackage == null || genMappersPackage.trim().length() == 0 String realMapperPackage = genMappersPackage == null || genMappersPackage.trim().length() == 0
? guessMapperPackage(entityClassElement.toString()) : genMappersPackage; ? guessMapperPackage(entityClassElement.toString()) : genMappersPackage;
genMapperClass(genPath, realMapperPackage, entityClassElement.toString(),baseMapperClass); genMapperClass(genPath, realMapperPackage, entityClassElement.toString(),baseMapperClass, entityName);
} }
}); });
@ -379,8 +388,8 @@ public class QueryEntityProcessor extends AbstractProcessor {
* @param entityClass 实体类名 * @param entityClass 实体类名
* @param baseMapperClass 自定义Mapper的父类全路径和类名 com.xx.mapper.BaseMapper可通过mybatis-flex.properties 的属性processor.baseMapperClass配置 默认为 com.mybatisflex.core.BaseMapper * @param baseMapperClass 自定义Mapper的父类全路径和类名 com.xx.mapper.BaseMapper可通过mybatis-flex.properties 的属性processor.baseMapperClass配置 默认为 com.mybatisflex.core.BaseMapper
*/ */
private void genMapperClass(String genBasePath, String genPackageName, String entityClass, String baseMapperClass) { private void genMapperClass(String genBasePath, String genPackageName, String entityClass, String baseMapperClass, String entityName) {
String entityName = entityClass.substring(entityClass.lastIndexOf(".") + 1); entityName = entityClass.substring(entityClass.lastIndexOf(".") + 1);
String baseMapperClzName = baseMapperClass.substring(baseMapperClass.lastIndexOf(".") + 1); String baseMapperClzName = baseMapperClass.substring(baseMapperClass.lastIndexOf(".") + 1);
String genContent = mapperTemplate String genContent = mapperTemplate
.replace("@package", genPackageName) .replace("@package", genPackageName)

View File

@ -0,0 +1,18 @@
package com.mybatisflex.test;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Table;
@Table("sys_user")
public class UserDto {
@Column
private Long id;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}

View File

@ -1 +1,4 @@
#processor.mappersGenerateEnable = false #processor.mappersGenerateEnable = false
processor.entityName.replace.enabled=true
processor.entityName.replace.regex=Dto
processor.entityName.replace.replacement=