diff --git a/src/main/java/space/caoshd/otone/builder/OutputBuilder.java b/src/main/java/space/caoshd/otone/builder/OutputBuilder.java new file mode 100644 index 0000000..a3df265 --- /dev/null +++ b/src/main/java/space/caoshd/otone/builder/OutputBuilder.java @@ -0,0 +1,39 @@ +package space.caoshd.otone.builder; + +import space.caoshd.otone.entity.OutputInfo; +import space.caoshd.otone.entity.TableInfo; + +import java.util.List; + +public class OutputBuilder { + + private final OutputInfo outputInfo = new OutputInfo(); + + public OutputBuilder setTableInfoList(List tableInfoList) { + this.outputInfo.setTableInfoList(tableInfoList); + return this; + } + + + public OutputBuilder setTemplatePath(String templatePath) { + this.outputInfo.setTemplatePath(templatePath); + return this; + } + + + public OutputBuilder setPackagePath(String packagePath) { + this.outputInfo.setPackagePath(packagePath); + return this; + } + + public OutputBuilder setNameSuffix(String nameSuffix) { + this.outputInfo.setNameSuffix(nameSuffix); + return this; + } + + public OutputInfo build() { + return outputInfo; + } + + +} diff --git a/src/main/java/space/caoshd/otone/builder/SourceBuilder.java b/src/main/java/space/caoshd/otone/builder/SourceBuilder.java index 79c8eab..677a847 100644 --- a/src/main/java/space/caoshd/otone/builder/SourceBuilder.java +++ b/src/main/java/space/caoshd/otone/builder/SourceBuilder.java @@ -5,13 +5,11 @@ import org.slf4j.LoggerFactory; import space.caoshd.otone.entity.OutputInfo; import space.caoshd.otone.entity.TableInfo; import space.caoshd.otone.tool.PropTools; -import space.caoshd.otone.util.CfgConsts; +import space.caoshd.otone.util.CfgUtils; import space.caoshd.otone.util.FileUtils; import space.caoshd.otone.util.PathConsts; import space.caoshd.otone.util.VelocityUtils; -import java.nio.file.Paths; - public class SourceBuilder { private static final Logger LOGGER = LoggerFactory.getLogger(SourceBuilder.class); @@ -30,18 +28,22 @@ public class SourceBuilder { // 创建数据文件夹 FileUtils.mkdir(outputInfo.getPackagePath()); // 获取输出文件路径 - String outputPath = getOutputPath(tableInfo.getBeanName()); + String outputPath = CfgUtils.getOutputPath( + outputInfo.getPackagePath(), + tableInfo.getBeanName(), + outputInfo.getNameSuffix() + ); // 获取模板文件路径 String templatePath = outputInfo.getTemplatePath(); // 判断输出文件是否已存在 if (!FileUtils.exists(outputPath)) { // 输出文件不存在 直接生成 - VelocityUtils.render(CfgConsts.VALUE_TABLE, tableInfo, templatePath, outputPath); + VelocityUtils.render(CfgUtils.VALUE_TABLE, tableInfo, templatePath, outputPath); } // 输出文件存在 判断是否可以覆盖 - if (CONFIG.getBoolean(CfgConsts.OUTPUT_COVER_IF_EXIST)) { + if (CONFIG.getBoolean(CfgUtils.OUTPUT_COVER_IF_EXIST)) { // 配置可以执行覆盖 覆盖生成 - VelocityUtils.render(CfgConsts.VALUE_TABLE, tableInfo, templatePath, outputPath); + VelocityUtils.render(CfgUtils.VALUE_TABLE, tableInfo, templatePath, outputPath); } else { // 配置不可以执行覆盖 提示错误消息 LOGGER.warn( @@ -54,13 +56,4 @@ public class SourceBuilder { } } - private String getOutputPath(String beanName) { - String filename = getOutputFilename(beanName); - return Paths.get(outputInfo.getPackagePath(), filename).toString(); - } - - private String getOutputFilename(String beanName) { - return beanName + outputInfo.getNameSuffix() + ".java"; - } - } diff --git a/src/main/java/space/caoshd/otone/builder/TableBuilder.java b/src/main/java/space/caoshd/otone/builder/TableBuilder.java index 2e7878f..c9d3bed 100644 --- a/src/main/java/space/caoshd/otone/builder/TableBuilder.java +++ b/src/main/java/space/caoshd/otone/builder/TableBuilder.java @@ -8,7 +8,7 @@ import space.caoshd.otone.entity.ColumnInfo; import space.caoshd.otone.entity.IndexInfo; import space.caoshd.otone.entity.TableInfo; import space.caoshd.otone.tool.PropTools; -import space.caoshd.otone.util.CfgConsts; +import space.caoshd.otone.util.CfgUtils; import space.caoshd.otone.util.DBUtils; import space.caoshd.otone.util.JsonUtils; import space.caoshd.otone.util.PathConsts; @@ -48,7 +48,7 @@ public class TableBuilder { public List build() { List result = new ArrayList<>(); - List schemaNames = CONFIG.getStrings(CfgConsts.DATABASE_NAME_SCHEMAS); + List schemaNames = CONFIG.getStrings(CfgUtils.DATABASE_NAME_SCHEMAS); if (schemaNames.isEmpty()) { String sql = MYSQL_CONFIG.getString(SqlConsts.TABLE_SQL); List> tables = DBUtils.list(sql); @@ -66,7 +66,7 @@ public class TableBuilder { public List build(String schemaName) { List result = new ArrayList<>(); - List tableNames = CONFIG.getStrings(CfgConsts.DATABASE_NAME_TABLES); + List tableNames = CONFIG.getStrings(CfgUtils.DATABASE_NAME_TABLES); if (tableNames.isEmpty()) { String sql = MYSQL_CONFIG.getString(SqlConsts.TABLE_SQL_SCHEMA); List params = Collections.singletonList(schemaName); @@ -169,7 +169,7 @@ public class TableBuilder { } private String getTableNameWithoutPrefix(String tableNameWithoutPrefix) { - List tablePrefixes = CONFIG.getStrings(CfgConsts.DATABASE_TABLE_PREFIXES); + List tablePrefixes = CONFIG.getStrings(CfgUtils.DATABASE_TABLE_PREFIXES); for (String tablePrefix : tablePrefixes) { tableNameWithoutPrefix = StrUtils.removePrefix(tableNameWithoutPrefix, tablePrefix); diff --git a/src/main/java/space/caoshd/otone/tool/PropTools.java b/src/main/java/space/caoshd/otone/tool/PropTools.java index 77796d9..f1588a5 100644 --- a/src/main/java/space/caoshd/otone/tool/PropTools.java +++ b/src/main/java/space/caoshd/otone/tool/PropTools.java @@ -12,9 +12,6 @@ import java.util.Objects; import java.util.Optional; import java.util.Properties; -/** - * properties 加载类 - */ public class PropTools { private Map propertyMap; @@ -50,6 +47,10 @@ public class PropTools { return Optional.ofNullable(propertyMap.get(key)).orElse(""); } + public String getString(String key, String defaultValue) { + return Optional.ofNullable(propertyMap.get(key)).orElse(defaultValue); + } + public Integer getInt(String key) { return Integer.valueOf(propertyMap.get(key)); } diff --git a/src/main/java/space/caoshd/otone/util/CfgConsts.java b/src/main/java/space/caoshd/otone/util/CfgConsts.java deleted file mode 100644 index fe5ffe2..0000000 --- a/src/main/java/space/caoshd/otone/util/CfgConsts.java +++ /dev/null @@ -1,77 +0,0 @@ -package space.caoshd.otone.util; - -public class CfgConsts { - - // 数据库配置 - public static final String DATABASE_NAME_SCHEMAS = "database.name.schemas"; - public static final String DATABASE_NAME_TABLES = "database.name.tables"; - public static final String DATABASE_TABLE_PREFIXES = "database.table.prefixes"; - - // 输出配置 - public static final String OUTPUT_COVER_IF_EXIST = "output.cover_if_exists"; - - // 项目配置 - public static final String PROJECT_PATH_BASE = "project.path.base"; - public static final String PROJECT_PATH_JAVA = "project.path.java"; - public static final String PROJECT_PATH_RESOURCES = "project.path.resources"; - - // 包配置 - public static final String PACKAGE_NAME_BASE = "package.name.base"; - public static final String PACKAGE_NAME_PO = "package.name.po"; - public static final String PACKAGE_NAME_MAPPER = "package.name.mapper"; - public static final String PACKAGE_NAME_SERVICE = "package.name.service"; - public static final String PACKAGE_NAME_CONTROLLER = "package.name.controller"; - public static final String PACKAGE_NAME_QUERY = "package.name.query"; - public static final String PACKAGE_NAME_FORM = "package.name.form"; - public static final String PACKAGE_NAME_VIEW = "package.name.view"; - - // 模块配置 - public static final String MODULE_MULTIPLE = "module.multiple"; - public static final String MODULE_NAME_AS_PACKAGE_BASE = "module.name.as_package_base"; - public static final String MODULE_NAME_CONTROLLER = "module.name.controller"; - public static final String MODULE_NAME_SERVICE = "module.name.service"; - public static final String MODULE_NAME_REPOSITORY = "module.name.repository"; - - // JAVA 配置 - public static final String JAVA_NAME_SUFFIX_PO = "java.name.suffix.po"; - public static final String JAVA_NAME_SUFFIX_MAPPER = "java.name.suffix.mapper"; - public static final String JAVA_NAME_SUFFIX_SERVICE = "java.name.suffix.service"; - public static final String JAVA_NAME_SUFFIX_QUERY = "java.name.suffix.query"; - public static final String JAVA_NAME_SUFFIX_FORM = "java.name.suffix.form"; - public static final String JAVA_NAME_SUFFIX_VIEW = "java.name.suffix.view"; - public static final String JAVA_NAME_SUFFIX_CONTROLLER = "java.name.suffix.controller"; - - // 常量配置 - 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_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() {} - -} diff --git a/src/main/java/space/caoshd/otone/util/CfgUtils.java b/src/main/java/space/caoshd/otone/util/CfgUtils.java new file mode 100644 index 0000000..c5d8b4f --- /dev/null +++ b/src/main/java/space/caoshd/otone/util/CfgUtils.java @@ -0,0 +1,357 @@ +package space.caoshd.otone.util; + +import space.caoshd.otone.tool.PropTools; + +import java.nio.file.Paths; + +public class CfgUtils { + + // 数据库配置 + public static final String DATABASE_NAME_SCHEMAS = "database.name.schemas"; + public static final String DATABASE_NAME_TABLES = "database.name.tables"; + public static final String DATABASE_TABLE_PREFIXES = "database.table.prefixes"; + + // 输出配置 + public static final String OUTPUT_COVER_IF_EXIST = "output.cover_if_exists"; + + // 项目配置 + public static final String PROJECT_PATH_BASE = "project.path.base"; + public static final String PROJECT_PATH_JAVA = "project.path.java"; + public static final String PROJECT_PATH_RESOURCES = "project.path.resources"; + + // 包配置 + public static final String PACKAGE_NAME_BASE = "package.name.base"; + public static final String PACKAGE_NAME_PO = "package.name.po"; + public static final String PACKAGE_NAME_MAPPER = "package.name.mapper"; + public static final String PACKAGE_NAME_SERVICE = "package.name.service"; + public static final String PACKAGE_NAME_CONTROLLER = "package.name.controller"; + public static final String PACKAGE_NAME_QUERY = "package.name.query"; + public static final String PACKAGE_NAME_FORM = "package.name.form"; + public static final String PACKAGE_NAME_VIEW = "package.name.view"; + + // 模块配置 + public static final String MODULE_MULTIPLE = "module.multiple"; + public static final String MODULE_NAME_AS_PACKAGE_BASE = "module.name.as_package_base"; + public static final String MODULE_NAME_CONTROLLER = "module.name.controller"; + public static final String MODULE_NAME_SERVICE = "module.name.service"; + public static final String MODULE_NAME_REPOSITORY = "module.name.repository"; + + // JAVA 配置 + public static final String JAVA_NAME_SUFFIX_PO = "java.name.suffix.po"; + public static final String JAVA_NAME_SUFFIX_MAPPER = "java.name.suffix.mapper"; + public static final String JAVA_NAME_SUFFIX_SERVICE = "java.name.suffix.service"; + public static final String JAVA_NAME_SUFFIX_QUERY = "java.name.suffix.query"; + public static final String JAVA_NAME_SUFFIX_FORM = "java.name.suffix.form"; + public static final String JAVA_NAME_SUFFIX_VIEW = "java.name.suffix.view"; + public static final String JAVA_NAME_SUFFIX_CONTROLLER = "java.name.suffix.controller"; + + // 模版路径配置 + public static final String TEMPLATE_PATH_PO = "template.path.po"; + public static final String TEMPLATE_PATH_VIEW = "template.path.view"; + public static final String TEMPLATE_PATH_FORM = "template.path.form"; + public static final String TEMPLATE_PATH_QUERY = "template.path.query"; + public static final String TEMPLATE_PATH_CONTROLLER = "template.path.controller"; + public static final String TEMPLATE_PATH_SERVICE = "template.path.service"; + public static final String TEMPLATE_PATH_SERVICE_INTERFACE = "template.path.service_interface"; + public static final String TEMPLATE_PATH_MAPPER = "template.path.mapper"; + public static final String TEMPLATE_PATH_MAPPER_XML = "template.path.mapper_xml"; + + // 常量配置 + 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_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"; + + // 模板文件路径默认值配置 + public static final String DEFAULT_TEMPLATE_PATH_PO = "template/po.vm"; + public static final String DEFAULT_TEMPLATE_PATH_VIEW = "template/view.vm"; + public static final String DEFAULT_TEMPLATE_PATH_FORM = "template/form.vm"; + public static final String DEFAULT_TEMPLATE_PATH_QUERY = "template/query.vm"; + public static final String DEFAULT_TEMPLATE_PATH_CONTROLLER = "template/controller.vm"; + public static final String DEFAULT_TEMPLATE_PATH_SERVICE = "template/service.vm"; + public static final String DEFAULT_TEMPLATE_PATH_SERVICE_INTERFACE = "service.interface/po.vm"; + public static final String DEFAULT_TEMPLATE_PATH_MAPPER = "template/mapper.vm"; + public static final String DEFAULT_TEMPLATE_PATH_MAPPER_XML = "template/mapper.xml.vm"; + private static final PropTools CONFIG = new PropTools(PathConsts.CONFIG_PROPERTIES_PATH); + private static final String JAVA_FILE_SUFFIX = ".java"; + + // 私有化构造器 + private CfgUtils() {} + + public static String getProjectBasePath() { + return CONFIG.getString(PROJECT_PATH_BASE).replaceAll("\\\\", "/"); + } + + public static String getProjectName() { + return StrUtils.getSuffix(getProjectBasePath(), "/"); + } + + public static String getProjectPath(String moduleName) { + String projectBasePath = getProjectBasePath(); + if (!isMultiModule()) { + return projectBasePath; + } else { + return projectBasePath + "/" + getProjectName() + "-" + moduleName; + } + } + + public static boolean isMultiModule() { + return CONFIG.getBoolean(MODULE_MULTIPLE); + } + + public static boolean moduleNameAsPackageBase() { + return CONFIG.getBoolean(MODULE_NAME_AS_PACKAGE_BASE); + } + + public static String getJavaPath(String moduleName) { + String projectPath = getProjectPath(moduleName); + String projectPathJava = CONFIG.getString(PROJECT_PATH_JAVA, DEFAULT_PROJECT_PATH_JAVA); + return Paths.get(projectPath, projectPathJava).toString(); + } + + private static String packageToPath(String packageName) { + return packageName.replaceAll("\\.", "/"); + } + + public static String getPackageBasePath(String moduleName) { + String javaPath = getJavaPath(moduleName); + String packageName = CONFIG.getString(PACKAGE_NAME_BASE); + String packagePath = packageToPath(packageName); + if (moduleNameAsPackageBase()) { + return Paths.get(javaPath, packagePath, moduleName).toString(); + } else { + return Paths.get(javaPath, packagePath).toString(); + } + } + + public static String getPathBasedPackage( + String moduleName, String configName + ) { + String basePath = getPackageBasePath(moduleName); + String packagePath = packageToPath(configName); + return Paths.get(basePath, packagePath).toString(); + } + + public static String getRepositoryModuleName() { + return CONFIG.getString(MODULE_NAME_REPOSITORY, DEFAULT_MODULE_NAME_REPOSITORY); + } + + public static String getServiceModuleName() { + return CONFIG.getString(MODULE_NAME_SERVICE, DEFAULT_MODULE_NAME_SERVICE); + } + + public static String getControllerModuleName() { + return CONFIG.getString(MODULE_NAME_CONTROLLER, DEFAULT_MODULE_NAME_CONTROLLER); + } + + public static String getServicePackagePath() { + String moduleName = getServiceModuleName(); + String configName = CONFIG.getString(PACKAGE_NAME_SERVICE, DEFAULT_PACKAGE_NAME_MAPPER); + return getPathBasedPackage(moduleName, configName); + } + + public static String getControllerPackagePath() { + String moduleName = getControllerModuleName(); + String configName = CONFIG.getString(PACKAGE_NAME_CONTROLLER, + DEFAULT_PACKAGE_NAME_CONTROLLER + ); + return getPathBasedPackage(moduleName, configName); + } + + public static String getViewPackagePath() { + String moduleName = getControllerModuleName(); + String configName = CONFIG.getString(PACKAGE_NAME_VIEW, DEFAULT_PACKAGE_NAME_VIEW); + return getPathBasedPackage(moduleName, configName); + } + + public static String getFormPackagePath() { + String moduleName = getControllerModuleName(); + String configName = CONFIG.getString(PACKAGE_NAME_FORM, DEFAULT_PACKAGE_NAME_FORM); + return getPathBasedPackage(moduleName, configName); + } + + public static String getQueryPackagePath() { + String moduleName = getControllerModuleName(); + String configName = CONFIG.getString(PACKAGE_NAME_QUERY, DEFAULT_PACKAGE_NAME_QUERY); + return getPathBasedPackage(moduleName, configName); + } + + public static String getPoPackagePath() { + String moduleName = getRepositoryModuleName(); + String configName = CONFIG.getString(PACKAGE_NAME_PO, DEFAULT_PACKAGE_NAME_PO); + return getPathBasedPackage(moduleName, configName); + } + + public static String getMapperPackagePath() { + String moduleName = getRepositoryModuleName(); + String configName = CONFIG.getString(PACKAGE_NAME_MAPPER, DEFAULT_PACKAGE_NAME_MAPPER); + return getPathBasedPackage(moduleName, configName); + } + + private static String getFilename(String className, String suffix) { + return className + suffix + JAVA_FILE_SUFFIX; + } + + public static String getPoJavaPath(String className) { + String poPackagePath = getPoPackagePath(); + String suffix = CONFIG.getString(JAVA_NAME_SUFFIX_PO, DEFAULT_JAVA_NAME_SUFFIX_PO); + String filename = getFilename(className, suffix); + return Paths.get(poPackagePath, filename).toString(); + } + + public static String getMapperJavaPath(String className) { + String mapperPackagePath = getMapperPackagePath(); + String suffix = CONFIG.getString(JAVA_NAME_SUFFIX_MAPPER, DEFAULT_JAVA_NAME_SUFFIX_MAPPER); + + String filename = getFilename(className, suffix); + return Paths.get(mapperPackagePath, filename).toString(); + } + + public static String getServiceJavaPath(String className) { + String servicePackagePath = getServicePackagePath(); + String suffix = CONFIG.getString(JAVA_NAME_SUFFIX_SERVICE, + DEFAULT_JAVA_NAME_SUFFIX_SERVICE + ); + String filename = getFilename(className, suffix); + return Paths.get(servicePackagePath, filename).toString(); + } + + + public static String getControllerJavaPath(String className) { + String controllerPackagePath = getControllerPackagePath(); + String suffix = CONFIG.getString(JAVA_NAME_SUFFIX_CONTROLLER, + DEFAULT_JAVA_NAME_SUFFIX_CONTROLLER + ); + String filename = getFilename(className, suffix); + return Paths.get(controllerPackagePath, filename).toString(); + } + + + public static String getFormJavaPath(String className) { + String formPackagePath = getFormPackagePath(); + String suffix = CONFIG.getString(JAVA_NAME_SUFFIX_CONTROLLER, + DEFAULT_JAVA_NAME_SUFFIX_CONTROLLER + ); + String filename = getFilename(className, suffix); + return Paths.get(formPackagePath, filename).toString(); + } + + + public static String getQueryJavaPath(String className) { + String basePath = getQueryPackagePath(); + String suffix = CONFIG.getString(JAVA_NAME_SUFFIX_QUERY, DEFAULT_JAVA_NAME_SUFFIX_QUERY); + String filename = getFilename(className, suffix); + return Paths.get(basePath, filename).toString(); + } + + public static String getViewJavaPath(String className) { + String viewPackagePath = getViewPackagePath(); + String suffix = CONFIG.getString(JAVA_NAME_SUFFIX_VIEW, DEFAULT_JAVA_NAME_SUFFIX_VIEW); + String filename = getFilename(className, suffix); + return Paths.get(viewPackagePath, filename).toString(); + } + + public static String getViewNameSuffix() { + return CONFIG.getString(JAVA_NAME_SUFFIX_VIEW, DEFAULT_JAVA_NAME_SUFFIX_VIEW); + } + + public static String getPoNameSuffix() { + return CONFIG.getString(JAVA_NAME_SUFFIX_PO, DEFAULT_JAVA_NAME_SUFFIX_PO); + } + + public static String getQueryNameSuffix() { + return CONFIG.getString(JAVA_NAME_SUFFIX_QUERY, DEFAULT_JAVA_NAME_SUFFIX_QUERY); + } + + public static String getFormNameSuffix() { + return CONFIG.getString(JAVA_NAME_SUFFIX_FORM, DEFAULT_JAVA_NAME_SUFFIX_FORM); + } + + public static String getControllerNameSuffix() { + return CONFIG.getString(JAVA_NAME_SUFFIX_CONTROLLER, DEFAULT_JAVA_NAME_SUFFIX_CONTROLLER); + } + + public static String getServiceNameSuffix() { + return CONFIG.getString(JAVA_NAME_SUFFIX_SERVICE, DEFAULT_JAVA_NAME_SUFFIX_SERVICE); + } + + public static String getMapperNameSuffix() { + return CONFIG.getString(JAVA_NAME_SUFFIX_MAPPER, DEFAULT_JAVA_NAME_SUFFIX_MAPPER); + } + + public static String getPoTemplatePath() { + return CONFIG.getString(TEMPLATE_PATH_PO, DEFAULT_TEMPLATE_PATH_PO); + } + + public static String getViewTemplatePath() { + return CONFIG.getString(TEMPLATE_PATH_VIEW, DEFAULT_TEMPLATE_PATH_VIEW); + } + + + public static String getFormTemplatePath() { + return CONFIG.getString(TEMPLATE_PATH_FORM, DEFAULT_TEMPLATE_PATH_FORM); + } + + + public static String getQueryTemplatePath() { + return CONFIG.getString(TEMPLATE_PATH_QUERY, DEFAULT_TEMPLATE_PATH_QUERY); + } + + public static String getControllerTemplatePath() { + return CONFIG.getString(TEMPLATE_PATH_CONTROLLER, DEFAULT_TEMPLATE_PATH_CONTROLLER); + } + + public static String getServiceTemplatePath() { + return CONFIG.getString(TEMPLATE_PATH_SERVICE, DEFAULT_TEMPLATE_PATH_SERVICE); + } + + public static String getServiceInterfaceTemplatePath() { + return CONFIG.getString(TEMPLATE_PATH_SERVICE_INTERFACE, + DEFAULT_TEMPLATE_PATH_SERVICE_INTERFACE + ); + } + + public static String getMapperTemplatePath() { + return CONFIG.getString(TEMPLATE_PATH_MAPPER, DEFAULT_TEMPLATE_PATH_MAPPER); + } + + public static String getMapperXmlTemplatePath() { + return CONFIG.getString(TEMPLATE_PATH_MAPPER_XML, DEFAULT_TEMPLATE_PATH_MAPPER_XML); + } + + + public static String getOutputFilename(String beanName, String nameSuffix) { + return beanName + nameSuffix + JAVA_FILE_SUFFIX; + } + + public static String getOutputPath(String packagePath, String beanName, String nameSuffix) { + String filename = CfgUtils.getOutputFilename(beanName, nameSuffix); + return Paths.get(packagePath, filename).toString(); + } + + +} diff --git a/src/main/java/space/caoshd/otone/util/PathConsts.java b/src/main/java/space/caoshd/otone/util/PathConsts.java index 6775457..37bbe27 100644 --- a/src/main/java/space/caoshd/otone/util/PathConsts.java +++ b/src/main/java/space/caoshd/otone/util/PathConsts.java @@ -9,17 +9,6 @@ public class PathConsts { public static final String VELOCITY_PROPERTIES_PATH = "config/velocity.properties"; public static final String RESOURCES_PATH = "config/velocity.properties"; - // 模板文件路径 - public static final String PO_TEMPLATE_PATH = "template/po.vm"; - public static final String VIEW_TEMPLATE_PATH = "template/view.vm"; - public static final String FORM_TEMPLATE_PATH = "template/form.vm"; - public static final String QUERY_TEMPLATE_PATH = "template/query.vm"; - public static final String CONTROLLER_TEMPLATE_PATH = "template/controller.vm"; - public static final String SERVICE_TEMPLATE_PATH = "template/service.vm"; - public static final String SERVICE_INTERFACE_TEMPLATE_PATH = "service.interface/po.vm"; - public static final String MAPPER_TEMPLATE_PATH = "template/mapper.vm"; - public static final String MAPPER_XML_TEMPLATE_PATH = "template/mapper.xml.vm"; - public PathConsts() {} diff --git a/src/main/java/space/caoshd/otone/util/PathUtils.java b/src/main/java/space/caoshd/otone/util/PathUtils.java deleted file mode 100644 index f73327d..0000000 --- a/src/main/java/space/caoshd/otone/util/PathUtils.java +++ /dev/null @@ -1,211 +0,0 @@ -package space.caoshd.otone.util; - -import space.caoshd.otone.tool.PropTools; - -import java.nio.file.Paths; - -public class PathUtils { - - private static final PropTools CONFIG = new PropTools(PathConsts.CONFIG_PROPERTIES_PATH); - - private static final String JAVA_FILE_SUFFIX = ".java"; - - public static String getProjectBasePath() { - return CONFIG.getString(CfgConsts.PROJECT_PATH_BASE).replaceAll("\\\\", "/"); - } - - public static String getProjectName() { - return StrUtils.getSuffix(getProjectBasePath(), "/"); - } - - public static String getProjectPath(String moduleName) { - String projectBasePath = getProjectBasePath(); - if (!isMultiModule()) { - return projectBasePath; - } else { - return projectBasePath + "/" + getProjectName() + "-" + moduleName; - } - } - - public static boolean isMultiModule() { - return CONFIG.getBoolean(CfgConsts.MODULE_MULTIPLE); - } - - public static boolean moduleNameAsPackageBase() { - return CONFIG.getBoolean(CfgConsts.MODULE_NAME_AS_PACKAGE_BASE); - } - - public static String getJavaPath(String moduleName) { - String basePath = getProjectPath(moduleName); - String configPath = CONFIG.getString(CfgConsts.PROJECT_PATH_JAVA); - String defaultPath = CfgConsts.DEFAULT_PROJECT_PATH_JAVA; - String path = StrUtils.defaultIfBlank(configPath, defaultPath); - return Paths.get(basePath, path).toString(); - } - - private static String packageToPath(String packageName) { - return packageName.replaceAll("\\.", "/"); - } - - public static String getPackageBasePath(String moduleName) { - String javaPath = getJavaPath(moduleName); - String packageName = CONFIG.getString(CfgConsts.PACKAGE_NAME_BASE); - String packagePath = packageToPath(packageName); - if (moduleNameAsPackageBase()) { - return Paths.get(javaPath, packagePath, moduleName).toString(); - } else { - return Paths.get(javaPath, packagePath).toString(); - } - } - - public static String getPathBasedPackage( - String moduleName, String configName, String defaultName - ) { - String basePath = getPackageBasePath(moduleName); - String packageName = StrUtils.defaultIfBlank(configName, defaultName); - String packagePath = packageToPath(packageName); - return Paths.get(basePath, packagePath).toString(); - } - - public static String getModuleName(String configModuleName, String defaultModuleName) { - return isMultiModule() ? StrUtils.defaultIfBlank(configModuleName, defaultModuleName) : ""; - } - - 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 getServiceModuleName() { - String configName = CONFIG.getString(CfgConsts.MODULE_NAME_SERVICE); - String defaultName = CfgConsts.DEFAULT_MODULE_NAME_SERVICE; - return getModuleName(configName, defaultName); - } - - 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 getServicePackagePath() { - String moduleName = getServiceModuleName(); - String configName = CONFIG.getString(CfgConsts.PACKAGE_NAME_SERVICE); - String defaultName = CfgConsts.DEFAULT_PACKAGE_NAME_MAPPER; - return getPathBasedPackage(moduleName, configName, defaultName); - } - - public static String getControllerPackagePath() { - String moduleName = getControllerModuleName(); - String configName = CONFIG.getString(CfgConsts.PACKAGE_NAME_CONTROLLER); - String defaultName = CfgConsts.DEFAULT_PACKAGE_NAME_CONTROLLER; - return getPathBasedPackage(moduleName, configName, defaultName); - } - - public static String getViewPackagePath() { - String moduleName = getControllerModuleName(); - String configName = CONFIG.getString(CfgConsts.PACKAGE_NAME_VIEW); - String defaultName = CfgConsts.DEFAULT_PACKAGE_NAME_VIEW; - return getPathBasedPackage(moduleName, configName, defaultName); - } - - public static String getFormPackagePath() { - String moduleName = getControllerModuleName(); - String configName = CONFIG.getString(CfgConsts.PACKAGE_NAME_FORM); - String defaultName = CfgConsts.DEFAULT_PACKAGE_NAME_FORM; - return getPathBasedPackage(moduleName, configName, defaultName); - } - - public static String getQueryPackagePath() { - String moduleName = getControllerModuleName(); - String configName = CONFIG.getString(CfgConsts.PACKAGE_NAME_QUERY); - String defaultName = CfgConsts.DEFAULT_PACKAGE_NAME_QUERY; - return getPathBasedPackage(moduleName, configName, defaultName); - } - - public static String getPoPackagePath() { - String moduleName = getRepositoryModuleName(); - String configName = CONFIG.getString(CfgConsts.PACKAGE_NAME_PO); - String defaultName = CfgConsts.DEFAULT_PACKAGE_NAME_PO; - return getPathBasedPackage(moduleName, configName, defaultName); - } - - public static String getMapperPackagePath() { - String moduleName = getRepositoryModuleName(); - String configName = CONFIG.getString(CfgConsts.PACKAGE_NAME_MAPPER); - String defaultName = CfgConsts.DEFAULT_PACKAGE_NAME_MAPPER; - return getPathBasedPackage(moduleName, configName, defaultName); - } - - private static String getFilename(String className, String suffix) { - return className + suffix + JAVA_FILE_SUFFIX; - } - - public static String getPoJavaPath(String className) { - String basePath = getPoPackagePath(); - String configSuffix = CONFIG.getString(CfgConsts.JAVA_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 = getMapperPackagePath(); - String configSuffix = CONFIG.getString(CfgConsts.JAVA_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 = getServicePackagePath(); - String configSuffix = CONFIG.getString(CfgConsts.JAVA_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(); - } - - - public static String getControllerJavaPath(String className) { - String basePath = getControllerPackagePath(); - String configSuffix = CONFIG.getString(CfgConsts.JAVA_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(); - } - - - public static String getFormJavaPath(String className) { - String basePath = getFormPackagePath(); - String configSuffix = CONFIG.getString(CfgConsts.JAVA_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(); - } - - - public static String getQueryJavaPath(String className) { - String basePath = getQueryPackagePath(); - String configSuffix = CONFIG.getString(CfgConsts.JAVA_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 = getViewPackagePath(); - String configSuffix = CONFIG.getString(CfgConsts.JAVA_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(); - } - -} diff --git a/src/test/java/space/caoshd/otone/builder/SourceBuilderTest.java b/src/test/java/space/caoshd/otone/builder/SourceBuilderTest.java index 5136a92..f4726a3 100644 --- a/src/test/java/space/caoshd/otone/builder/SourceBuilderTest.java +++ b/src/test/java/space/caoshd/otone/builder/SourceBuilderTest.java @@ -1,44 +1,86 @@ package space.caoshd.otone.builder; import org.junit.jupiter.api.Test; -import space.caoshd.otone.entity.OutputInfo; import space.caoshd.otone.entity.TableInfo; +import space.caoshd.otone.tool.PropTools; +import space.caoshd.otone.util.CfgUtils; import space.caoshd.otone.util.PathConsts; -import space.caoshd.otone.util.PathUtils; import java.util.List; class SourceBuilderTest { + private static final PropTools CONFIG = new PropTools(PathConsts.MYSQL_PROPERTIES_PATH); + @Test void build() { - String[] templates = { - PathConsts.VIEW_TEMPLATE_PATH, - PathConsts.FORM_TEMPLATE_PATH, - PathConsts.QUERY_TEMPLATE_PATH, - PathConsts.CONTROLLER_TEMPLATE_PATH, - PathConsts.SERVICE_TEMPLATE_PATH, - PathConsts.SERVICE_INTERFACE_TEMPLATE_PATH, - PathConsts.MAPPER_TEMPLATE_PATH, - PathConsts.MAPPER_XML_TEMPLATE_PATH, - PathConsts.PO_TEMPLATE_PATH, - }; - - TableBuilder tableBuilder = new TableBuilder(); - List tableInfoList = tableBuilder.build(); - -// OutputInfo poOutputInfo = new OutputInfo(); -// poOutputInfo.setTableInfoList(tableInfoList); -// poOutputInfo.setTemplatePath(PathConsts.PO_TEMPLATE_PATH); -// poOutputInfo.setPackagePath(PathUtils.getPoPackagePath()); -// new OutputBuilder(poOutputInfo).build(); - - OutputInfo voOutputInfo = new OutputInfo(); - voOutputInfo.setTableInfoList(tableInfoList); - voOutputInfo.setNameSuffix("View"); - voOutputInfo.setTemplatePath(PathConsts.VIEW_TEMPLATE_PATH); - voOutputInfo.setPackagePath(PathUtils.getViewPackagePath()); - new SourceBuilder(voOutputInfo).build(); + + List tableInfo = new TableBuilder().build(); + + new SourceBuilder( + new OutputBuilder() + .setTableInfoList(tableInfo) + .setNameSuffix(CfgUtils.getViewNameSuffix()) + .setTemplatePath(CfgUtils.getViewTemplatePath()) + .setPackagePath(CfgUtils.getViewPackagePath()) + .build() + ).build(); + + + new SourceBuilder( + new OutputBuilder() + .setTableInfoList(tableInfo) + .setNameSuffix(CfgUtils.getMapperNameSuffix()) + .setTemplatePath(CfgUtils.getMapperTemplatePath()) + .setPackagePath(CfgUtils.getMapperPackagePath()) + .build() + ).build(); + + new SourceBuilder( + new OutputBuilder() + .setTableInfoList(tableInfo) + .setNameSuffix(CfgUtils.getServiceNameSuffix()) + .setTemplatePath(CfgUtils.getServiceTemplatePath()) + .setPackagePath(CfgUtils.getServicePackagePath()) + .build() + ).build(); + + new SourceBuilder( + new OutputBuilder() + .setTableInfoList(tableInfo) + .setNameSuffix(CfgUtils.getControllerNameSuffix()) + .setTemplatePath(CfgUtils.getControllerTemplatePath()) + .setPackagePath(CfgUtils.getControllerPackagePath()) + .build() + ).build(); + + new SourceBuilder( + new OutputBuilder() + .setTableInfoList(tableInfo) + .setNameSuffix(CfgUtils.getViewNameSuffix()) + .setTemplatePath(CfgUtils.getViewPackagePath()) + .setPackagePath(CfgUtils.getViewPackagePath()) + .build() + ).build(); + + new SourceBuilder( + new OutputBuilder() + .setTableInfoList(tableInfo) + .setNameSuffix(CfgUtils.getFormNameSuffix()) + .setTemplatePath(CfgUtils.getFormTemplatePath()) + .setPackagePath(CfgUtils.getFormPackagePath()) + .build() + ).build(); + + + new SourceBuilder( + new OutputBuilder() + .setTableInfoList(tableInfo) + .setNameSuffix(CfgUtils.getQueryNameSuffix()) + .setTemplatePath(CfgUtils.getQueryTemplatePath()) + .setPackagePath(CfgUtils.getQueryPackagePath()) + .build() + ).build(); } diff --git a/src/test/java/space/caoshd/otone/tool/PropToolsTest.java b/src/test/java/space/caoshd/otone/tool/PropToolsTest.java index 914fd0d..82cac7c 100644 --- a/src/test/java/space/caoshd/otone/tool/PropToolsTest.java +++ b/src/test/java/space/caoshd/otone/tool/PropToolsTest.java @@ -2,7 +2,7 @@ package space.caoshd.otone.tool; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; -import space.caoshd.otone.util.CfgConsts; +import space.caoshd.otone.util.CfgUtils; import space.caoshd.otone.util.PathConsts; import space.caoshd.otone.util.ResUtils; @@ -26,7 +26,7 @@ class PropToolsTest { void getStrings() { InputStream fileStream = ResUtils.getClassPathFileStream(PathConsts.CONFIG_PROPERTIES_PATH); PropTools configProperties = new PropTools(fileStream); - List strings = configProperties.getStrings(CfgConsts.DATABASE_TABLE_PREFIXES); + List strings = configProperties.getStrings(CfgUtils.DATABASE_TABLE_PREFIXES); System.out.println(strings); } diff --git a/src/test/java/space/caoshd/otone/util/CfgUtilsTest.java b/src/test/java/space/caoshd/otone/util/CfgUtilsTest.java new file mode 100644 index 0000000..0328080 --- /dev/null +++ b/src/test/java/space/caoshd/otone/util/CfgUtilsTest.java @@ -0,0 +1,53 @@ +package space.caoshd.otone.util; + +import org.junit.jupiter.api.Test; + +public class CfgUtilsTest { + + @Test + void getProjectPath() { + String projectPath = CfgUtils.getProjectBasePath(); + System.out.println(projectPath); + } + + @Test + void getProjectName() { + String projectName = CfgUtils.getProjectName(); + System.out.println(projectName); + } + + @Test + void getJavaPath() { + String javaPath = CfgUtils.getJavaPath("data"); + System.out.println(javaPath); + } + + @Test + void getPackagePath() { + String packagePath = CfgUtils.getPackageBasePath("service"); + System.out.println(packagePath); + } + + @Test + void getRepositoryModuleName() { + String repositoryModuleName = CfgUtils.getRepositoryModuleName(); + System.out.println(repositoryModuleName); + } + + @Test + void getRepositoryPackageName() { + String poPackagePath = CfgUtils.getPoPackagePath(); + System.out.println(poPackagePath); + + String viewPackagePath = CfgUtils.getViewPackagePath(); + System.out.println(viewPackagePath); + } + + @Test + void getViewNameSuffix() { + String viewNameSuffix = CfgUtils.getViewNameSuffix(); + System.out.println(viewNameSuffix); + } + + +} \ No newline at end of file diff --git a/src/test/java/space/caoshd/otone/util/DBUtilsTest.java b/src/test/java/space/caoshd/otone/util/DBUtilsTest.java index 30adb14..4726399 100644 --- a/src/test/java/space/caoshd/otone/util/DBUtilsTest.java +++ b/src/test/java/space/caoshd/otone/util/DBUtilsTest.java @@ -16,8 +16,8 @@ class DBUtilsTest { String sql = sqlProperties.getString(SqlConsts.TABLE_SQL_SCHEMA_TABLE); PropTools configProperties = new PropTools(PathConsts.CONFIG_PROPERTIES_PATH); - List schemas = configProperties.getStrings(CfgConsts.DATABASE_NAME_SCHEMAS); - List tables = configProperties.getStrings(CfgConsts.DATABASE_NAME_TABLES); + List schemas = configProperties.getStrings(CfgUtils.DATABASE_NAME_SCHEMAS); + List tables = configProperties.getStrings(CfgUtils.DATABASE_NAME_TABLES); List params = Arrays.asList(schemas.get(0), tables.get(0)); List> maps = DBUtils.list(sql, params); Assertions.assertFalse(maps.isEmpty()); diff --git a/src/test/java/space/caoshd/otone/util/PathUtilsTest.java b/src/test/java/space/caoshd/otone/util/PathUtilsTest.java deleted file mode 100644 index 0d7f3ab..0000000 --- a/src/test/java/space/caoshd/otone/util/PathUtilsTest.java +++ /dev/null @@ -1,46 +0,0 @@ -package space.caoshd.otone.util; - -import org.junit.jupiter.api.Test; - -class PathUtilsTest { - - @Test - void getProjectPath() { - String projectPath = PathUtils.getProjectBasePath(); - System.out.println(projectPath); - } - - @Test - void getProjectName() { - String projectName = PathUtils.getProjectName(); - System.out.println(projectName); - } - - @Test - void getJavaPath(){ - String javaPath = PathUtils.getJavaPath("data"); - System.out.println(javaPath); - } - - @Test - void 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); - } - -} \ No newline at end of file diff --git a/src/test/resources/config/config.properties b/src/test/resources/config/config.properties index 6acb660..5c9a330 100644 --- a/src/test/resources/config/config.properties +++ b/src/test/resources/config/config.properties @@ -1,7 +1,6 @@ project.path.base=D:/workspace/otono-debug/ #project.path.java=src/main/java #project.path.resources=src/main/resources -#project.path.mapper= package.name.base=space.caoshd.navigator package.name.po=repository.po @@ -18,17 +17,28 @@ module.name.controller=controller module.name.repository=data module.name.service=cmpt -#java.name.suffix.service=Service -#java.name.suffix.Controller=Controller -#java.name.suffix.view=View -#java.name.suffix.form=Form -#java.name.suffix.query=Query -#java.name.suffix.mapper=Mapper -#java.name.suffix.po= +java.name.suffix.service=Service +java.name.suffix.controller=Controller +java.name.suffix.view=View +java.name.suffix.form=Form +java.name.suffix.query=Query +java.name.suffix.mapper=Mapper +java.name.suffix.po= + -output.cover_if_exists=false #database.name.schemas=otone #database.name.tables= database.table.prefixes=t_,m_ +template.path.po=template/po.vm +template.path.view=template/view.vm +template.path.form=template/form.vm +template.path.query=template/query.vm +template.path.controller=template/controller.vm +template.path.service=template/service.vm +template.path.service_interface=template/service.interface/po.vm +template.path.mapper=template/mapper.vm +template.path.mapper_xml=template/mapper.xml.vm + +output.cover_if_exists=false