对mybatis-plus-generator进行封装,通过Web UI快速生成兼容Spring boot,mybatis-plus框架的各类业务代码
提供交互式的Web UI用于生成兼容mybatis-plus框架的相关功能代码,包括Entity,Mapper,Mapper.xml,Service,Controller等 ,可以自定义模板以及各类输出参数,也可通过SQL查询语句直接生成代码。
com.github.davidfantasy mybatis-plus-generator-ui 1.4.1 test
public class GeberatorUIServer {public static void main(String[] args) { GeneratorConfig config = GeneratorConfig.builder().jdbcUrl("jdbc:mysql://192.168.1.211:3306/example") .userName("root") .password("root") .driverClassName("com.mysql.cj.jdbc.Driver") //数据库schema,POSTGRE_SQL,ORACLE,DB2类型的数据库需要指定 .schemaName("myBusiness") //如果需要修改各类生成文件的默认命名规则,可自定义一个NameConverter实例,覆盖相应的名称转换方法: .nameConverter(new NameConverter() { /** * 自定义Service类文件的名称规则 */ @Override public String serviceNameConvert(String tableName) { return this.entityNameConvert(tableName) + "Service"; } /** * 自定义Controller类文件的名称规则 */ @Override public String controllerNameConvert(String tableName) { return this.entityNameConvert(tableName) + "Action"; } }) .basePackage("com.github.davidfantasy.mybatisplustools.example") .port(8068) .build(); MybatisPlusToolsApplication.run(config); }
}
GeneratorConfig还包含一些基本的配置参数以及各个可扩展的接口,比如自定义模板参数,具体的说明可查看源码注释。
1.4.0版本之后,可支持将GeberatorUIServer独立部署为一个单独的spring boot项目,通过页面指定目标项目根目录的方式为多个项目提供源码生成服务。
Q:下载源码中怎么直接运行?
不建议直接下载源码运行,该项目是设计为直接嵌入到对应的业务项目中使用,可以自动识别项目路径等环境变量。如需采用源码运行,需要另行编译src\frontend中的静态资源(源码中不包含已编译的页面),在src\frontend文件夹中执行: ~~~shell yarn install yarn run build ~~~ 然后修改src\test\java\TestApplication中数据库的相关配置,并运行。
Q:支持哪些类型的数据库?
支持几乎所有主流的数据库,具体可参考mybatis-plus-generator框架的文档。需要自行引入数据库的driver包,并在 GeneratorConfig中指定driverClassName。
Q:怎么自定义模板参数?
在GeneratorConfig中自定义TemplateVaribleInjecter,返回需要在模板中使用的参数,例如:
java GeneratorConfig config = GeneratorConfig.builder() .templateVaribleInjecter(new TemplateVaribleInjecter() { @Override public Map getCustomTemplateVaribles(TableInfo tableInfo) { Map params = new HashMap<>(); return params; } })
Q:保存的配置是存储到什么地方的?
所有的用户保存的配置是按照basePackage分组保存到user.home目录的.mybatis-plus-generator-ui中的,不同项目的配置不会互相影响。