Patella主要用于服务端代码生成,根据数据库表结构,生成对应的DTO对象,Service接口,甚至Controller。其实主要是依靠nunjucks模版。如果大家在写模版过程中有问题可以联系作者交流。
1、 配置数据库管理插件
a、进入vscode插件管理
b、在查询框输入Patella
c、点击蓝色按钮安装
2、 配置数据库管理插件
点击按钮,进入SQLTools管理界面
新增数据库链接
选择数据库类型,目前代码生成工具只支持mysql和mssql
d、 配置数据库链接参数,其中Use password栏目选择“Save password”,否则Patella拿不到密码就无法连上对应数据库。
3、 配置数据库管理插件
进入工程目录,使用右键菜单快速打开工程
4、 配置数据库管理插件
插件如果初始化成功,就会在.vscode目录下生成2个文件1个目录:
gyctools.config.json:是工程的生成工具配置文件
gyctools.config.schema.json:是配置文件schema
gyc_templates: 是工程对应的模版文件根目录
5、 修改配置文件:
a、修改模版输出路径
templateName:由模版所在目录+模版文件名组成
outFileType:是模版输出文件的拼接后缀。比如有表“tb_patella”生成的model文件名就是 Patella.java。因为/java/model.njk模版配置的outfileType是“.java”,对应的/java/reader.njk配置的outFileType:“Reader.java”所以最终输出的文件名就是PatellaReader.java
outPath:所生成代码文件的放置路径
enabled:模版是否开启
b、 配置符合自己项目的packagename
通常情况下不需要修改。customsAttributes属性会在njk模版生成过程中注入到数据对象中,所以该属性下的字段都可以在模版中转换为代码或用于判断逻辑。
6、 代码生成:
a、 “Patella->Generate Code(ALL TABLE)”
链接数据库,在需要的数据库上右键菜单通过本菜单将会生成库下面所有表的未成生的代码,如果输出的代码文件已存在,则会跳过,适合项目初始化时使用。
b、“Patella->Generate Code”
使用表右键菜单,可生成针对这个表的代码,如果对应代码文件已存在则会覆盖老文件。适用于字段有改动后的重新生成。
7、 模版说明及编辑:
生成器使用nunjucks模版进行代码生成,相关语法可查阅官网或到中文社区https://nunjucks.bootcss.com/templating.html学习。
使用插件内置的模版编辑器写模版,可以有相关数据属性的提示
8、 保持个性代码:
模版使用注释标记语法划定保持区域,在区域内代码会在模版再次生成时被回写入对应区域