• mybatis-plus-generator-ui 可视化代码生成神器
  • 发布于 2个月前
  • 583 热度
    0 评论
它提供交互式的Web UI用于生成兼容mybatis-plus框架的相关功能代码,包括Entity,Mapper,Mapper.xml,Service,Controller等。可以自定义模板以及各类输出参数,也可通过SQL查询语句直接生成代码。
git地址:https://github.com/davidfantasy/mybatis-plus-generator-ui

使用示例
1、引入依赖
<!-- 堆代码 duidaima.com -->  
<dependency>
       <groupId>com.github.davidfantasy</groupId>
       <artifactId>mybatis-plus-generator-ui</artifactId>
       <version>2.0.1</version>
  </dependency>

   <!-- mysql -->
  <dependency>
       <groupId>mysql</groupId>
       <artifactId>mysql-connector-java</artifactId>
       <version>${mysql8.version}</version>
  </dependency>

   <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.5.1</version>
   </dependency>
2、新建程序入口,以main函数的方式运行
public class GeberatorUIServer {

    public static void main(String[] args) {
        GeneratorConfig config = GeneratorConfig.builder().jdbcUrl("jdbc:mysql://111.32.222.65:3306/kp?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Hongkong")
                .userName("root")
                .password("root")
                .driverClassName("com.mysql.cj.jdbc.Driver")
                //数据库schema,MSSQL,PGSQL,ORACLE,DB2类型的数据库需要指定
                //.schemaName("myBusiness")
                //如果需要修改entity及其属性的命名规则,以及自定义各类生成文件的命名规则,可自定义一个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) + "Controller";
                    }
                })
                //所有生成的java文件的父包名,后续也可单独在界面上设置
                .basePackage("com.jincou.mybatisplus")
                .port(8068)
                .build();
        MybatisPlusToolsApplication.run(config);
    }
}
3、运行main方法
访问 localhost:8068
它可以把数据库所有的表都查询出来,我们可以现选择指定的表进行生成代码。

同是可以选择生成哪些文件,对Controller层,也可以选择生成哪些接口。

4、最终效果
我们可以看到,生成的文件及目录

再来看下Controller自动生成的接口

注意: 因为不同的项目的接口的返回格式是不一样的,这里我们可以修改Controller模版,来生成当前我们项目所有返回接口格式。

常见问题
1、下载源码中怎么直接运行?
不建议直接下载源码运行 ,该项目是设计为直接嵌入到对应的业务项目中使用,可以自动识别项目路径等环境变量。

2、支持哪些类型的数据库?
支持几乎所有主流的数据库,具体可参考mybatis-plus-generator框架的文档。需要自行引入数据库的driver包,并在 GeneratorConfig中指定driverClassName。

3、保存的配置是存储到什么地方的?
所有的用户保存的配置是按照basePackage分组保存到user.home目录的.mybatis-plus-generator-ui中的,不同项目的配置不会互相影响。

4、启动报错问题排查
大部分的启动问题都是由于依赖冲突导致的,因为mybatis-plus-generator-ui也依赖于springboot和mybatis-plus,请先检查依赖包版本是否相差过大;

1.X的版本仅支持最高mp的3.4.X版本,在高版本的springboot(大于2.4)上启动也会有问题,2.0.0版本已经解决了相关的兼容性问题;
用户评论