feat: 优化代码生成策略,完美适配项目结构

This commit is contained in:
landaiqing
2024-06-02 21:52:30 +08:00
parent 623ca1b91a
commit a9d0bb01cc
44 changed files with 2137 additions and 244 deletions

View File

@@ -44,7 +44,7 @@ mappers:
ext: java
- fileId: 009
template: genCode/template/DemoTable.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-infra/src/main/java/com/schisandra/${module}/infra/basic/bo
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-infra/src/main/java/com/schisandra/${module}/infra/basic/entity
name: ${modelName}
ext: java
- fileId: 010
@@ -54,7 +54,7 @@ mappers:
ext: java
- fileId: 011
template: genCode/template/DemoDao.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-infra/src/main/java/com/schisandra/${module}/infra/basic/mapper
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-infra/src/main/java/com/schisandra/${module}/infra/basic/dao
name: ${modelName}Dao
ext: java
- fileId: 012

View File

@@ -8,23 +8,23 @@
# 数据库连接信息
jdbc:
dbName: schisandra-cloud-storage
tableName: schisandra_auth_role_permission
tableName: schisandra_oss_aws
url: jdbc:mysql://1.95.0.111:3306/
username: root
password: LDQ20020618xxx
driver: com.mysql.cj.jdbc.Driver
# 使用的模板与生成文件映射给关系
mapperInfos: genCode/authMapper.yml
mapperInfos: genCode/Mapper.yml
# 全局参数
params:
# 作者
author: landaiqing
# 模块
module: auth
module: oss
# controller 通用前缀
api: /auth/permission/
api: /oss/aws/
# 生成对象是否移除前缀
removePre: false
# 使用内置函数赋值给变量 FunctionUtils 中替换

View File

@@ -1,69 +0,0 @@
# auth模块映射关系 ${module} 占位符
# 模板文件和生成类的映射关系 多个文件 数组形式配置
mappers:
-
- fileId: 001
template: genCode/template/DemoDTO.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-application/schisandra-cloud-storage-${module}-application-controller/src/main/java/com/schisandra/${module}/application/dto
name: ${modelName}DTO
ext: java
- fileId: 002
template: genCode/template/DemoController.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-application/schisandra-cloud-storage-${module}-application-controller/src/main/java/com/schisandra/${module}/application/controller
name: ${modelName}Controller
ext: java
- fileId: 003
template: genCode/template/DemoDTOConverter.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-application/schisandra-cloud-storage-${module}-application-controller/src/main/java/com/schisandra/${module}/application/convert
name: ${modelName}DTOConverter
ext: java
- fileId: 004
template: genCode/template/DemoBO.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-domain/src/main/java/com/schisandra/${module}/domain/bo
name: ${modelName}BO
ext: java
- fileId: 005
template: genCode/template/DemoDomainService.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-domain/src/main/java/com/schisandra/${module}/domain/service
name: ${modelName}DomainService
ext: java
- fileId: 006
template: genCode/template/DemoDomainServiceImpl.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-domain/src/main/java/com/schisandra/${module}/domain/service/impl
name: ${modelName}DomainServiceImpl
ext: java
- fileId: 007
template: genCode/template/DemoBOConverter.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-domain/src/main/java/com/schisandra/${module}/domain/convert
name: ${modelName}BOConverter
ext: java
- fileId: 008
template: genCode/template/DemoService.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-infra/src/main/java/com/schisandra/${module}/infra/basic/service
name: ${modelName}Service
ext: java
- fileId: 009
template: genCode/template/DemoTable.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-infra/src/main/java/com/schisandra/${module}/infra/basic/bo
name: ${modelName}
ext: java
- fileId: 010
template: genCode/template/DemoServiceImpl.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-infra/src/main/java/com/schisandra/${module}/infra/basic/service/impl
name: ${modelName}ServiceImpl
ext: java
- fileId: 011
template: genCode/template/DemoDao.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-infra/src/main/java/com/schisandra/${module}/infra/basic/mapper
name: ${modelName}Dao
ext: java
- fileId: 012
template: genCode/template/DemoXml.xml.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-infra/src/main/resources/mapper
name: ${modelName}Dao
ext: xml

View File

@@ -1,69 +0,0 @@
# auth模块映射关系 ${module} 占位符
# 模板文件和生成类的映射关系 多个文件 数组形式配置
mappers:
-
- fileId: 001
template: genCode/template/DemoDTO.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-application/schisandra-cloud-storage-${module}-application-controller/src/main/java/com/schisandra/${module}/application/dto
name: ${modelName}DTO
ext: java
- fileId: 002
template: genCode/template/DemoController.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-application/schisandra-cloud-storage-${module}-application-controller/src/main/java/com/schisandra/${module}/application/controller
name: ${modelName}Controller
ext: java
- fileId: 003
template: genCode/template/DemoDTOConverter.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-application/schisandra-cloud-storage-${module}-application-controller/src/main/java/com/schisandra/${module}/application/convert
name: ${modelName}DTOConverter
ext: java
- fileId: 004
template: genCode/template/DemoBO.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-domain/src/main/java/com/schisandra/${module}/domain/bo
name: ${modelName}BO
ext: java
- fileId: 005
template: genCode/template/DemoDomainService.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-domain/src/main/java/com/schisandra/${module}/domain/service
name: ${modelName}DomainService
ext: java
- fileId: 006
template: genCode/template/DemoDomainServiceImpl.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-domain/src/main/java/com/schisandra/${module}/domain/service/impl
name: ${modelName}DomainServiceImpl
ext: java
- fileId: 007
template: genCode/template/DemoBOConverter.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-domain/src/main/java/com/schisandra/${module}/domain/convert
name: ${modelName}BOConverter
ext: java
- fileId: 008
template: genCode/template/DemoService.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-infra/src/main/java/com/schisandra/${module}/infra/basic/service
name: ${modelName}Service
ext: java
- fileId: 009
template: genCode/template/DemoTable.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-infra/src/main/java/com/schisandra/${module}/infra/basic/bo
name: ${modelName}
ext: java
- fileId: 010
template: genCode/template/DemoServiceImpl.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-infra/src/main/java/com/schisandra/${module}/infra/basic/service/impl
name: ${modelName}ServiceImpl
ext: java
- fileId: 011
template: genCode/template/DemoDao.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-infra/src/main/java/com/schisandra/${module}/infra/basic/mapper
name: ${modelName}Dao
ext: java
- fileId: 012
template: genCode/template/DemoXml.xml.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-infra/src/main/resources/mapper
name: ${modelName}Dao
ext: xml

View File

@@ -1,69 +0,0 @@
# auth模块映射关系 ${module} 占位符
# 模板文件和生成类的映射关系 多个文件 数组形式配置
mappers:
-
- fileId: 001
template: genCode/template/DemoDTO.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-application/schisandra-cloud-storage-${module}-application-controller/src/main/java/com/schisandra/${module}/application/dto
name: ${modelName}DTO
ext: java
- fileId: 002
template: genCode/template/DemoController.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-application/schisandra-cloud-storage-${module}-application-controller/src/main/java/com/schisandra/${module}/application/controller
name: ${modelName}Controller
ext: java
- fileId: 003
template: genCode/template/DemoDTOConverter.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-application/schisandra-cloud-storage-${module}-application-controller/src/main/java/com/schisandra/${module}/application/convert
name: ${modelName}DTOConverter
ext: java
- fileId: 004
template: genCode/template/DemoBO.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-domain/src/main/java/com/schisandra/${module}/domain/bo
name: ${modelName}BO
ext: java
- fileId: 005
template: genCode/template/DemoDomainService.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-domain/src/main/java/com/schisandra/${module}/domain/service
name: ${modelName}DomainService
ext: java
- fileId: 006
template: genCode/template/DemoDomainServiceImpl.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-domain/src/main/java/com/schisandra/${module}/domain/service/impl
name: ${modelName}DomainServiceImpl
ext: java
- fileId: 007
template: genCode/template/DemoBOConverter.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-domain/src/main/java/com/schisandra/${module}/domain/convert
name: ${modelName}BOConverter
ext: java
- fileId: 008
template: genCode/template/DemoService.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-infra/src/main/java/com/schisandra/${module}/infra/basic/service
name: ${modelName}Service
ext: java
- fileId: 009
template: genCode/template/DemoTable.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-infra/src/main/java/com/schisandra/${module}/infra/basic/bo
name: ${modelName}
ext: java
- fileId: 010
template: genCode/template/DemoServiceImpl.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-infra/src/main/java/com/schisandra/${module}/infra/basic/service/impl
name: ${modelName}ServiceImpl
ext: java
- fileId: 011
template: genCode/template/DemoDao.java.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-infra/src/main/java/com/schisandra/${module}/infra/basic/mapper
name: ${modelName}Dao
ext: java
- fileId: 012
template: genCode/template/DemoXml.xml.vm
filePath: /schisandra-cloud-storage-${module}/schisandra-cloud-storage-${module}-infra/src/main/resources/mapper
name: ${modelName}Dao
ext: xml

View File

@@ -1,9 +1,9 @@
package com.schisandra.${module}.domain.entity;
package com.schisandra.${module}.domain.bo;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* ${tableComment} bo
*

View File

@@ -1,7 +1,7 @@
package com.schisandra.${module}.domain.convert;
${module}.domain.entity.${modelName}BO;
${module}.infra.basic.entity.${modelName};
import com.schisandra.${module}.domain.bo.${modelName}BO;
import com.schisandra.${module}.infra.basic.entity.${modelName};
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@@ -2,11 +2,11 @@ package com.schisandra.${module}.application.controller;
import com.alibaba.fastjson.JSON;
import com.google.common.base.Preconditions;
${module}.application.convert.${modelName}DTOConverter;
${module}.application.dto.${modelName}DTO;
${module}.common.entity.Result;
${module}.domain.entity.${modelName}BO;
${module}.domain.service.${modelName}DomainService;
import com.schisandra.${module}.application.convert.${modelName}DTOConverter;
import com.schisandra.${module}.application.dto.${modelName}DTO;
import com.schisandra.${module}.common.entity.Result;
import com.schisandra.${module}.domain.bo.${modelName}BO;
import com.schisandra.${module}.domain.service.${modelName}DomainService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

View File

@@ -3,6 +3,7 @@ package com.schisandra.${module}.application.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* ${tableComment} dto

View File

@@ -1,7 +1,7 @@
package com.schisandra.${module}.application.convert;
${module}.application.dto.${modelName}DTO;
${module}.domain.entity.${modelName}BO;
import com.schisandra.${module}.application.dto.${modelName}DTO;
import com.schisandra.${module}.domain.bo.${modelName}BO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@@ -1,6 +1,6 @@
package com.schisandra.${module}.infra.basic.mapper;
package com.schisandra.${module}.infra.basic.dao;
${module}.infra.basic.entity.${modelName};
import com.schisandra.${module}.infra.basic.entity.${modelName};
import com.mybatisflex.core.BaseMapper;
import org.springframework.stereotype.Repository;

View File

@@ -1,4 +1,6 @@
package com.schisandra.${module}.domain.service;${module}.domain.entity.${modelName}BO;
package com.schisandra.${module}.domain.service;
import com.schisandra.${module}.domain.bo.${modelName}BO;
/**
* ${tableComment} 领域service

View File

@@ -1,11 +1,11 @@
package com.schisandra.${module}.domain.service.impl;
${module}.common.enums.IsDeletedFlagEnum;
${module}.domain.convert.${modelName}BOConverter;
${module}.domain.entity.${modelName}BO;
${module}.domain.service.${modelName}DomainService;
${module}.infra.basic.entity.${modelName};
${module}.infra.basic.service.${modelName}Service;
import com.schisandra.${module}.common.enums.IsDeletedFlagEnum;
import com.schisandra.${module}.domain.convert.${modelName}BOConverter;
import com.schisandra.${module}.domain.bo.${modelName}BO;
import com.schisandra.${module}.domain.service.${modelName}DomainService;
import com.schisandra.${module}.infra.basic.entity.${modelName};
import com.schisandra.${module}.infra.basic.service.${modelName}Service;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

View File

@@ -1,4 +1,6 @@
package com.schisandra.${module}.infra.basic.service;${module}.infra.basic.entity.${modelName};
package com.schisandra.${module}.infra.basic.service;
import com.schisandra.${module}.infra.basic.entity.${modelName};
/**
* ${tableComment} 表服务接口

View File

@@ -1,12 +1,11 @@
package com.schisandra.${module}.infra.basic.service.impl;
import ${module}.infra.basic.entity.${modelName};
import ${module}.infra.basic.mapper.${modelName}Dao;
import ${module}.infra.basic.service.${modelName}Service;
import com.schisandra.${module}.infra.basic.entity.${modelName};
import com.schisandra.${module}.infra.basic.dao.${modelName}Dao;
import com.schisandra.${module}.infra.basic.service.${modelName}Service;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Objects;
/**
* ${tableComment} 表服务实现类

View File

@@ -4,6 +4,10 @@ import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* ${tableComment} 实体类
@@ -20,10 +24,10 @@ public class ${modelName} implements Serializable {
* ${field.comment}
*/
#if($field.keyType=='PRI')
@Id(value = "`$field.col`", type = KeyType.Auto)
@Id(value = "$field.col", keyType = KeyType.Auto)
#end
#if($field.keyType!='PRI')
@Column("`$field.col`")
@Column("$field.col")
#end
private $field.type $field.name;
#end

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.schisandra.${module}.infra.basic.mapper.${modelName}Dao">
<mapper namespace="com.schisandra.${module}.infra.basic.dao.${modelName}Dao">
<resultMap id="BaseResultMap" type="com.schisandra.${module}.infra.basic.entity.${modelName}">
#foreach($field in $fields)