Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[功能改进]: 描述自定义模板比如DTO #6580

Open
3 tasks done
qiaozhi-4 opened this issue Nov 8, 2024 · 1 comment
Open
3 tasks done

[功能改进]: 描述自定义模板比如DTO #6580

qiaozhi-4 opened this issue Nov 8, 2024 · 1 comment

Comments

@qiaozhi-4
Copy link

确认

  • 我的版本是最新版本, 我的版本号与 version 相同, 并且项目里无依赖冲突
  • 我已经在 issue 中搜索过, 确认问题没有被提出过
  • 我已经修改标题, 将标题中的 描述 替换为遇到的问题

功能改进

在使用自定义模板时,我使用下面的代码配置了我的DTO文件名,模板路径,以及包名称,在这里配置后我想要objectMap 中的 package 自动添加一个键值对,比如以文件名为key{”DTO“:”基础包路径 + 包名称“},这样就能在模板中直接使用${package.DTO}

injectionConfig(builder -> {
      builder.customFile(customFileBuilder -> {
          customFileBuilder.fileName("DTO.java")
                  .templatePath("\\templates\\vm\\java\\dto.java.vm")
                  .packageName("model.dto")
                  .enableFileOverride()
          ;
      });
  })

我想参照官方模板的例子

## ----------  Entity包路径  ----------
package ${package.Entity};
## ----------  Service包路径  ----------
package ${package.Service};

然而 objectMap 中的 package 只有这些
image
我先在的解决方式时在dto模板中这样写,model.dto这个东西我感觉配置了两次

package ${package.Parent}.model.dto;

参考资料

No response

@qiaozhi-4
Copy link
Author

qiaozhi-4 commented Nov 8, 2024

类名称也是一样,自动往objectMap里面添加一个【文件名Name】我设置的文件名时DTO.Java,往objectMap添加的就是{”DTOName“:实体名+"DTO"}
我现在是手动在injectionConfig-》beforeOutputFile里面添加
objectMap.put("DTOName", tableInfo.getEntityName() + "DTO");

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant