|
@@ -19,7 +19,11 @@ import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.generator.config.*;
|
|
|
import com.baomidou.mybatisplus.generator.config.builder.ConfigBuilder;
|
|
|
+import com.baomidou.mybatisplus.generator.config.builder.Controller;
|
|
|
import com.baomidou.mybatisplus.generator.config.builder.CustomFile;
|
|
|
+import com.baomidou.mybatisplus.generator.config.builder.Entity;
|
|
|
+import com.baomidou.mybatisplus.generator.config.builder.Mapper;
|
|
|
+import com.baomidou.mybatisplus.generator.config.builder.Service;
|
|
|
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
|
|
|
import com.baomidou.mybatisplus.generator.util.FileUtils;
|
|
|
import com.baomidou.mybatisplus.generator.util.RuntimeUtils;
|
|
@@ -90,11 +94,11 @@ public abstract class AbstractTemplateEngine {
|
|
|
protected void outputEntity(@NotNull TableInfo tableInfo, @NotNull Map<String, Object> objectMap) {
|
|
|
String entityName = tableInfo.getEntityName();
|
|
|
String entityPath = getPathInfo(OutputFile.entity);
|
|
|
- if (StringUtils.isNotBlank(entityName) && StringUtils.isNotBlank(entityPath)) {
|
|
|
- getTemplateFilePath(template -> template.getEntity(getConfigBuilder().getGlobalConfig().isKotlin())).ifPresent((entity) -> {
|
|
|
- String entityFile = String.format((entityPath + File.separator + "%s" + suffixJavaOrKt()), entityName);
|
|
|
- outputFile(getOutputFile(entityFile, OutputFile.entity), objectMap, entity, getConfigBuilder().getStrategyConfig().entity().isFileOverride());
|
|
|
- });
|
|
|
+ Entity entity = this.getConfigBuilder().getStrategyConfig().entity();
|
|
|
+ GlobalConfig globalConfig = configBuilder.getGlobalConfig();
|
|
|
+ if (entity.isGenerate()) {
|
|
|
+ String entityFile = String.format((entityPath + File.separator + "%s" + suffixJavaOrKt()), entityName);
|
|
|
+ outputFile(getOutputFile(entityFile, OutputFile.entity), objectMap, templateFilePath(globalConfig.isKotlin() ? entity.getKotlinTemplate() : entity.getJavaTemplate()), getConfigBuilder().getStrategyConfig().entity().isFileOverride());
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -113,19 +117,16 @@ public abstract class AbstractTemplateEngine {
|
|
|
// MpMapper.java
|
|
|
String entityName = tableInfo.getEntityName();
|
|
|
String mapperPath = getPathInfo(OutputFile.mapper);
|
|
|
- if (StringUtils.isNotBlank(tableInfo.getMapperName()) && StringUtils.isNotBlank(mapperPath)) {
|
|
|
- getTemplateFilePath(TemplateConfig::getMapper).ifPresent(mapper -> {
|
|
|
- String mapperFile = String.format((mapperPath + File.separator + tableInfo.getMapperName() + suffixJavaOrKt()), entityName);
|
|
|
- outputFile(getOutputFile(mapperFile, OutputFile.mapper), objectMap, mapper, getConfigBuilder().getStrategyConfig().mapper().isFileOverride());
|
|
|
- });
|
|
|
+ Mapper mapper = this.getConfigBuilder().getStrategyConfig().mapper();
|
|
|
+ if (mapper.isGenerateMapper() || (StringUtils.isNotBlank(tableInfo.getMapperName()) && StringUtils.isNotBlank(mapperPath))) {
|
|
|
+ String mapperFile = String.format((mapperPath + File.separator + tableInfo.getMapperName() + suffixJavaOrKt()), entityName);
|
|
|
+ outputFile(getOutputFile(mapperFile, OutputFile.mapper), objectMap, templateFilePath(mapper.getMapperTemplatePath()), getConfigBuilder().getStrategyConfig().mapper().isFileOverride());
|
|
|
}
|
|
|
// MpMapper.xml
|
|
|
String xmlPath = getPathInfo(OutputFile.xml);
|
|
|
- if (StringUtils.isNotBlank(tableInfo.getXmlName()) && StringUtils.isNotBlank(xmlPath)) {
|
|
|
- getTemplateFilePath(TemplateConfig::getXml).ifPresent(xml -> {
|
|
|
- String xmlFile = String.format((xmlPath + File.separator + tableInfo.getXmlName() + ConstVal.XML_SUFFIX), entityName);
|
|
|
- outputFile(getOutputFile(xmlFile, OutputFile.xml), objectMap, xml, getConfigBuilder().getStrategyConfig().mapper().isFileOverride());
|
|
|
- });
|
|
|
+ if (mapper.isGenerateMapperXml() || (StringUtils.isNotBlank(tableInfo.getXmlName()) && StringUtils.isNotBlank(xmlPath))) {
|
|
|
+ String xmlFile = String.format((xmlPath + File.separator + tableInfo.getXmlName() + ConstVal.XML_SUFFIX), entityName);
|
|
|
+ outputFile(getOutputFile(xmlFile, OutputFile.xml), objectMap, templateFilePath(mapper.getMapperXmlTemplatePath()), getConfigBuilder().getStrategyConfig().mapper().isFileOverride());
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -140,22 +141,19 @@ public abstract class AbstractTemplateEngine {
|
|
|
// IMpService.java
|
|
|
String entityName = tableInfo.getEntityName();
|
|
|
// 判断是否要生成service接口
|
|
|
- if (tableInfo.isServiceInterface()) {
|
|
|
+ Service service = this.getConfigBuilder().getStrategyConfig().service();
|
|
|
+ if (service.isGenerateService()) {
|
|
|
String servicePath = getPathInfo(OutputFile.service);
|
|
|
if (StringUtils.isNotBlank(tableInfo.getServiceName()) && StringUtils.isNotBlank(servicePath)) {
|
|
|
- getTemplateFilePath(TemplateConfig::getService).ifPresent(service -> {
|
|
|
- String serviceFile = String.format((servicePath + File.separator + tableInfo.getServiceName() + suffixJavaOrKt()), entityName);
|
|
|
- outputFile(getOutputFile(serviceFile, OutputFile.service), objectMap, service, getConfigBuilder().getStrategyConfig().service().isFileOverride());
|
|
|
- });
|
|
|
+ String serviceFile = String.format((servicePath + File.separator + tableInfo.getServiceName() + suffixJavaOrKt()), entityName);
|
|
|
+ outputFile(getOutputFile(serviceFile, OutputFile.service), objectMap, templateFilePath(service.getServiceTemplate()), getConfigBuilder().getStrategyConfig().service().isFileOverride());
|
|
|
}
|
|
|
}
|
|
|
// MpServiceImpl.java
|
|
|
String serviceImplPath = getPathInfo(OutputFile.serviceImpl);
|
|
|
- if (StringUtils.isNotBlank(tableInfo.getServiceImplName()) && StringUtils.isNotBlank(serviceImplPath)) {
|
|
|
- getTemplateFilePath(TemplateConfig::getServiceImpl).ifPresent(serviceImpl -> {
|
|
|
- String implFile = String.format((serviceImplPath + File.separator + tableInfo.getServiceImplName() + suffixJavaOrKt()), entityName);
|
|
|
- outputFile(getOutputFile(implFile, OutputFile.serviceImpl), objectMap, serviceImpl, getConfigBuilder().getStrategyConfig().service().isFileOverride());
|
|
|
- });
|
|
|
+ if (service.isGenerateServiceImpl() || (StringUtils.isNotBlank(tableInfo.getServiceImplName()) && StringUtils.isNotBlank(serviceImplPath))) {
|
|
|
+ String implFile = String.format((serviceImplPath + File.separator + tableInfo.getServiceImplName() + suffixJavaOrKt()), entityName);
|
|
|
+ outputFile(getOutputFile(implFile, OutputFile.serviceImpl), objectMap, templateFilePath(service.getServiceImplTemplate()), getConfigBuilder().getStrategyConfig().service().isFileOverride());
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -168,13 +166,12 @@ public abstract class AbstractTemplateEngine {
|
|
|
*/
|
|
|
protected void outputController(@NotNull TableInfo tableInfo, @NotNull Map<String, Object> objectMap) {
|
|
|
// MpController.java
|
|
|
+ Controller controller = this.getConfigBuilder().getStrategyConfig().controller();
|
|
|
String controllerPath = getPathInfo(OutputFile.controller);
|
|
|
- if (StringUtils.isNotBlank(tableInfo.getControllerName()) && StringUtils.isNotBlank(controllerPath)) {
|
|
|
- getTemplateFilePath(TemplateConfig::getController).ifPresent(controller -> {
|
|
|
- String entityName = tableInfo.getEntityName();
|
|
|
- String controllerFile = String.format((controllerPath + File.separator + tableInfo.getControllerName() + suffixJavaOrKt()), entityName);
|
|
|
- outputFile(getOutputFile(controllerFile, OutputFile.controller), objectMap, controller, getConfigBuilder().getStrategyConfig().controller().isFileOverride());
|
|
|
- });
|
|
|
+ if (controller.isGenerate() || (StringUtils.isNotBlank(tableInfo.getControllerName()) && StringUtils.isNotBlank(controllerPath))) {
|
|
|
+ String entityName = tableInfo.getEntityName();
|
|
|
+ String controllerFile = String.format((controllerPath + File.separator + tableInfo.getControllerName() + suffixJavaOrKt()), entityName);
|
|
|
+ outputFile(getOutputFile(controllerFile, OutputFile.controller), objectMap, templateFilePath(controller.getTemplatePath()), getConfigBuilder().getStrategyConfig().controller().isFileOverride());
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -211,6 +208,7 @@ public abstract class AbstractTemplateEngine {
|
|
|
* @since 3.5.0
|
|
|
*/
|
|
|
@NotNull
|
|
|
+ @Deprecated
|
|
|
protected Optional<String> getTemplateFilePath(@NotNull Function<TemplateConfig, String> function) {
|
|
|
TemplateConfig templateConfig = getConfigBuilder().getTemplateConfig();
|
|
|
String filePath = function.apply(templateConfig);
|