新增: 多模块路径获取方法

master
曹世达 6 months ago
parent 5ebe0723ee
commit 8621e4f244

@ -34,7 +34,7 @@ public class PoBuilder {
public void build() {
for (TableInfo tableInfo : tableInfoList) {
String beanName = tableInfo.getBeanName();
String packagePath = PathUtils.getPoPath();
String packagePath = PathUtils.getPoPackagePath();
FileUtils.mkdir(packagePath);
String outputPath = PathUtils.getPoJavaPath(beanName);

@ -43,23 +43,32 @@ public class CfgConsts {
// 常量配置
public static final String VALUE_TABLE = "table";
// 默认值配
// JAVA 工程默认值配
public static final String DEFAULT_PROJECT_PATH_JAVA = "src/main/java";
public static final String DEFAULT_PROJECT_PATH_RESOURCES = "src/main/resources";
public static final String DEFAULT_PACKAGE_PO = "repository.po";
public static final String DEFAULT_PACKAGE_MAPPER = "repository.mapper";
public static final String DEFAULT_PACKAGE_SERVICE = "service";
public static final String DEFAULT_PACKAGE_QUERY = "controller.query";
public static final String DEFAULT_PACKAGE_FORM = "controller.form";
public static final String DEFAULT_PACKAGE_VIEW = "controller.view";
public static final String DEFAULT_PACKAGE_CONTROLLER = "controller";
public static final String DEFAULT_CLASS_NAME_SUFFIX_PO = "";
public static final String DEFAULT_CLASS_NAME_SUFFIX_MAPPER = "Mapper";
public static final String DEFAULT_CLASS_NAME_SUFFIX_SERVICE = "Service";
public static final String DEFAULT_CLASS_NAME_SUFFIX_QUERY = "Query";
public static final String DEFAULT_CLASS_NAME_SUFFIX_FORM = "Form";
public static final String DEFAULT_CLASS_NAME_SUFFIX_VIEW = "View";
public static final String DEFAULT_CLASS_NAME_SUFFIX_CONTROLLER = "Controller";
// 包名默认值配置
public static final String DEFAULT_PACKAGE_NAME_PO = "repository.po";
public static final String DEFAULT_PACKAGE_NAME_MAPPER = "repository.mapper";
public static final String DEFAULT_PACKAGE_NAME_SERVICE = "service";
public static final String DEFAULT_PACKAGE_NAME_QUERY = "controller.query";
public static final String DEFAULT_PACKAGE_NAME_FORM = "controller.form";
public static final String DEFAULT_PACKAGE_NAME_VIEW = "controller.view";
public static final String DEFAULT_PACKAGE_NAME_CONTROLLER = "controller";
// 模块名默认值配置
public static final String DEFAULT_MODULE_NAME_CONTROLLER = "controller";
public static final String DEFAULT_MODULE_NAME_SERVICE = "service";
public static final String DEFAULT_MODULE_NAME_REPOSITORY = "repository";
// JAVA文件名后缀默认值配置
public static final String DEFAULT_JAVA_NAME_SUFFIX_PO = "";
public static final String DEFAULT_JAVA_NAME_SUFFIX_MAPPER = "Mapper";
public static final String DEFAULT_JAVA_NAME_SUFFIX_SERVICE = "Service";
public static final String DEFAULT_JAVA_NAME_SUFFIX_QUERY = "Query";
public static final String DEFAULT_JAVA_NAME_SUFFIX_FORM = "Form";
public static final String DEFAULT_JAVA_NAME_SUFFIX_VIEW = "View";
public static final String DEFAULT_JAVA_NAME_SUFFIX_CONTROLLER = "Controller";
// 私有化构造器
private CfgConsts() {}

@ -14,7 +14,7 @@ public class PathUtils {
return CONFIG.getString(CfgConsts.PROJECT_PATH_BASE);
}
public static String getJavaSrcPath() {
public static String getJavaPath() {
String basePath = getProjectPath();
String configPath = CONFIG.getString(CfgConsts.PROJECT_PATH_JAVA);
String defaultPath = CfgConsts.DEFAULT_PROJECT_PATH_JAVA;
@ -22,89 +22,103 @@ public class PathUtils {
return Paths.get(basePath, path).toString();
}
public static String getPackagePath() {
String basePath = getJavaSrcPath();
String name = CONFIG.getString(CfgConsts.PACKAGE_NAME_BASE);
String path = name.replaceAll("\\.", "/");
return Paths.get(basePath, path).toString();
private static String packageToPath(String packageName) {
return packageName.replaceAll("\\.", "/");
}
public static String getPathBasedPackage(String configPath, String defaultPath) {
String basePath = getPackagePath();
String path = StrUtils.defaultIfBlank(configPath, defaultPath);
return Paths.get(basePath, path).toString();
public static String getPackageBasePath(String moduleName) {
String basePath = getJavaPath();
String packageName = CONFIG.getString(CfgConsts.PACKAGE_NAME_BASE);
String path = packageToPath(packageName);
return Paths.get(basePath, moduleName, path).toString();
}
public static String getServicePath(String className) {
String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_SERVICE);
String defaultPath = CfgConsts.DEFAULT_PACKAGE_MAPPER;
return getPathBasedPackage(configPath, defaultPath);
public static String getPathBasedPackage(
String moduleName, String configName, String defaultName
) {
String basePath = getPackageBasePath(moduleName);
String packageName = StrUtils.defaultIfBlank(configName, defaultName);
String path = packageToPath(packageName);
return Paths.get(basePath, path).toString();
}
public static String getControllerPath(String className) {
String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_CONTROLLER);
String defaultPath = CfgConsts.DEFAULT_PACKAGE_CONTROLLER;
return getPathBasedPackage(configPath, defaultPath);
public static boolean isMultiModule() {
return CONFIG.getBoolean(CfgConsts.MODULE_MULTIPLE);
}
public static String getViewPath(String className) {
String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_VIEW);
String defaultPath = CfgConsts.DEFAULT_PACKAGE_VIEW;
return getPathBasedPackage(configPath, defaultPath);
public static String getModuleName(String configName, String defaultName) {
if (!isMultiModule()) {
return "";
}
public static String getFormPath(String className) {
String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_FORM);
String defaultPath = CfgConsts.DEFAULT_PACKAGE_FORM;
return getPathBasedPackage(configPath, defaultPath);
return StrUtils.defaultIfBlank(configName, defaultName);
}
public static String getQueryPath(String className) {
String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_QUERY);
String defaultPath = CfgConsts.DEFAULT_PACKAGE_QUERY;
return getPathBasedPackage(configPath, defaultPath);
public static String getRepositoryModuleName() {
String configName = CONFIG.getString(CfgConsts.MODULE_NAME_REPOSITORY);
String defaultName = CfgConsts.DEFAULT_MODULE_NAME_REPOSITORY;
return getModuleName(configName, defaultName);
}
public static String getPoPath() {
String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_PO);
String defaultPath = CfgConsts.DEFAULT_PACKAGE_PO;
return getPathBasedPackage(configPath, defaultPath);
public static String getServiceModuleName() {
String configName = CONFIG.getString(CfgConsts.MODULE_NAME_SERVICE);
String defaultName = CfgConsts.DEFAULT_MODULE_NAME_SERVICE;
return getModuleName(configName, defaultName);
}
public static String getMapperPath() {
String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_MAPPER);
String defaultPath = CfgConsts.DEFAULT_PACKAGE_MAPPER;
return getPathBasedPackage(configPath, defaultPath);
public static String getControllerModuleName() {
String configName = CONFIG.getString(CfgConsts.MODULE_NAME_CONTROLLER);
String defaultName = CfgConsts.DEFAULT_MODULE_NAME_CONTROLLER;
return getModuleName(configName, defaultName);
}
public static String getServicePath() {
public static String getServicePackagePath() {
String moduleName = getServiceModuleName();
String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_SERVICE);
String defaultPath = CfgConsts.DEFAULT_PACKAGE_MAPPER;
return getPathBasedPackage(configPath, defaultPath);
String defaultPath = CfgConsts.DEFAULT_PACKAGE_NAME_MAPPER;
return getPathBasedPackage(moduleName, configPath, defaultPath);
}
public static String getControllerPath() {
public static String getControllerPackagePath() {
String moduleName = getControllerModuleName();
String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_CONTROLLER);
String defaultPath = CfgConsts.DEFAULT_PACKAGE_CONTROLLER;
return getPathBasedPackage(configPath, defaultPath);
String defaultPath = CfgConsts.DEFAULT_PACKAGE_NAME_CONTROLLER;
return getPathBasedPackage(moduleName, configPath, defaultPath);
}
public static String getViewPath() {
public static String getViewPackagePath() {
String moduleName = getControllerModuleName();
String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_VIEW);
String defaultPath = CfgConsts.DEFAULT_PACKAGE_VIEW;
return getPathBasedPackage(configPath, defaultPath);
String defaultPath = CfgConsts.DEFAULT_PACKAGE_NAME_VIEW;
return getPathBasedPackage(moduleName, configPath, defaultPath);
}
public static String getFormPath() {
public static String getFormPackagePath() {
String moduleName = getControllerModuleName();
String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_FORM);
String defaultPath = CfgConsts.DEFAULT_PACKAGE_FORM;
return getPathBasedPackage(configPath, defaultPath);
String defaultPath = CfgConsts.DEFAULT_PACKAGE_NAME_FORM;
return getPathBasedPackage(moduleName, configPath, defaultPath);
}
public static String getQueryPath() {
public static String getQueryPackagePath() {
String moduleName = getControllerModuleName();
String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_QUERY);
String defaultPath = CfgConsts.DEFAULT_PACKAGE_QUERY;
return getPathBasedPackage(configPath, defaultPath);
String defaultPath = CfgConsts.DEFAULT_PACKAGE_NAME_QUERY;
return getPathBasedPackage(moduleName, configPath, defaultPath);
}
public static String getPoPackagePath() {
String moduleName = getRepositoryModuleName();
String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_PO);
String defaultPath = CfgConsts.DEFAULT_PACKAGE_NAME_PO;
return getPathBasedPackage(moduleName, configPath, defaultPath);
}
public static String getMapperPackagePath() {
String moduleName = getRepositoryModuleName();
String configPath = CONFIG.getString(CfgConsts.PACKAGE_NAME_MAPPER);
String defaultPath = CfgConsts.DEFAULT_PACKAGE_NAME_MAPPER;
return getPathBasedPackage(moduleName, configPath, defaultPath);
}
private static String getFilename(String className, String suffix) {
@ -112,27 +126,27 @@ public class PathUtils {
}
public static String getPoJavaPath(String className) {
String basePath = getPoPath();
String basePath = getPoPackagePath();
String configSuffix = CONFIG.getString(CfgConsts.JAVA_NAME_SUFFIX_PO);
String defaultSuffix = CfgConsts.DEFAULT_CLASS_NAME_SUFFIX_PO;
String defaultSuffix = CfgConsts.DEFAULT_JAVA_NAME_SUFFIX_PO;
String suffix = StrUtils.defaultIfBlank(configSuffix, defaultSuffix);
String filename = getFilename(className, defaultSuffix);
return Paths.get(basePath, filename).toString();
}
public static String getMapperJavaPath(String className) {
String basePath = getMapperPath();
String basePath = getMapperPackagePath();
String configSuffix = CONFIG.getString(CfgConsts.JAVA_NAME_SUFFIX_MAPPER);
String defaultSuffix = CfgConsts.DEFAULT_CLASS_NAME_SUFFIX_MAPPER;
String defaultSuffix = CfgConsts.DEFAULT_JAVA_NAME_SUFFIX_MAPPER;
String suffix = StrUtils.defaultIfBlank(configSuffix, defaultSuffix);
String filename = getFilename(className, suffix);
return Paths.get(basePath, filename).toString();
}
public static String getServiceJavaPath(String className) {
String basePath = getServicePath();
String basePath = getServicePackagePath();
String configSuffix = CONFIG.getString(CfgConsts.JAVA_NAME_SUFFIX_SERVICE);
String defaultSuffix = CfgConsts.DEFAULT_CLASS_NAME_SUFFIX_SERVICE;
String defaultSuffix = CfgConsts.DEFAULT_JAVA_NAME_SUFFIX_SERVICE;
String suffix = StrUtils.defaultIfBlank(configSuffix, defaultSuffix);
String filename = getFilename(className, suffix);
return Paths.get(basePath, filename).toString();
@ -140,9 +154,9 @@ public class PathUtils {
public static String getControllerJavaPath(String className) {
String basePath = getControllerPath();
String basePath = getControllerPackagePath();
String configSuffix = CONFIG.getString(CfgConsts.JAVA_NAME_SUFFIX_CONTROLLER);
String defaultSuffix = CfgConsts.DEFAULT_CLASS_NAME_SUFFIX_CONTROLLER;
String defaultSuffix = CfgConsts.DEFAULT_JAVA_NAME_SUFFIX_CONTROLLER;
String suffix = StrUtils.defaultIfBlank(configSuffix, defaultSuffix);
String filename = getFilename(className, suffix);
return Paths.get(basePath, filename).toString();
@ -150,9 +164,9 @@ public class PathUtils {
public static String getFormJavaPath(String className) {
String basePath = getFormPath();
String basePath = getFormPackagePath();
String configSuffix = CONFIG.getString(CfgConsts.JAVA_NAME_SUFFIX_CONTROLLER);
String defaultSuffix = CfgConsts.DEFAULT_CLASS_NAME_SUFFIX_CONTROLLER;
String defaultSuffix = CfgConsts.DEFAULT_JAVA_NAME_SUFFIX_CONTROLLER;
String suffix = StrUtils.defaultIfBlank(configSuffix, defaultSuffix);
String filename = getFilename(className, suffix);
return Paths.get(basePath, filename).toString();
@ -160,18 +174,18 @@ public class PathUtils {
public static String getQueryJavaPath(String className) {
String basePath = getQueryPath();
String basePath = getQueryPackagePath();
String configSuffix = CONFIG.getString(CfgConsts.JAVA_NAME_SUFFIX_QUERY);
String defaultSuffix = CfgConsts.DEFAULT_CLASS_NAME_SUFFIX_QUERY;
String defaultSuffix = CfgConsts.DEFAULT_JAVA_NAME_SUFFIX_QUERY;
String suffix = StrUtils.defaultIfBlank(configSuffix, defaultSuffix);
String filename = getFilename(className, suffix);
return Paths.get(basePath, filename).toString();
}
public static String getViewJavaPath(String className) {
String basePath = getViewPath();
String basePath = getViewPackagePath();
String configSuffix = CONFIG.getString(CfgConsts.JAVA_NAME_SUFFIX_VIEW);
String defaultSuffix = CfgConsts.DEFAULT_CLASS_NAME_SUFFIX_VIEW;
String defaultSuffix = CfgConsts.DEFAULT_JAVA_NAME_SUFFIX_VIEW;
String suffix = StrUtils.defaultIfBlank(configSuffix, defaultSuffix);
String filename = getFilename(className, suffix);
return Paths.get(basePath, filename).toString();

@ -10,9 +10,31 @@ class PathUtilsTest {
System.out.println(projectPath);
}
@Test
void getJavaPath(){
String javaPath = PathUtils.getJavaPath();
System.out.println(javaPath);
}
@Test
void getPackagePath() {
String packagePath = PathUtils.getPackagePath();
String packagePath = PathUtils.getPackageBasePath("service");
System.out.println(packagePath);
}
@Test
void getRepositoryModuleName() {
String repositoryModuleName = PathUtils.getRepositoryModuleName();
System.out.println(repositoryModuleName);
}
@Test
void getRepositoryPackageName() {
String poPackagePath = PathUtils.getPoPackagePath();
System.out.println(poPackagePath);
String viewPackagePath = PathUtils.getViewPackagePath();
System.out.println(viewPackagePath);
}
}
Loading…
Cancel
Save