首页 > 其他分享 >mybatis-plus-generator-ui 可视化代码生成器!

mybatis-plus-generator-ui 可视化代码生成器!

时间:2023-06-11 23:13:29浏览次数:55  
标签:代码生成 generator 生成 Controller ui mybatis plus

它提供交互式的Web UI用于生成兼容mybatis-plus框架的相关功能代码,包括Entity,Mapper,Mapper.xml,Service,Controller等。

可以自定义模板以及各类输出参数,也可通过SQL查询语句直接生成代码。

git地址https://github.com/davidfantasy/mybatis-plus-generator-ui

一、使用示例

1、引入依赖

  <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://118.31.224.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版本已经解决了相关的兼容性问题;



声明: 公众号如需转载该篇文章,发表文章的头部一定要 告知是转至公众号: 后端元宇宙。同时也可以问本人要markdown原稿和原图片。其它情况一律禁止转载!

标签:代码生成,generator,生成,Controller,ui,mybatis,plus
From: https://www.cnblogs.com/qdhxhz/p/17375247.html

相关文章

  • Arduino学习—— 蜂鸣器
     voidsetup(){//putyoursetupcodehere,torunonce:Serial.begin(9600);pinMode(2,OUTPUT);pinMode(7,OUTPUT);analogWrite(9,255);}voidloop(){//putyourmaincodehere,torunrepeatedly://Serial.println(digitalRead(4));if(......
  • Hugging News #0609: 最新代码生成模型 StarCoder+ 和 StarChat Beta 重磅发布!
    每一周,我们的同事都会向社区的成员们发布一些关于HuggingFace相关的更新,包括我们的产品和平台更新、社区活动、学习资源和内容更新、开源库和模型更新等,我们将其称之为「HuggingNews」,本期HuggingNews有哪些有趣的消息,快来看看吧!重磅更新StarCoder+和StarChatβ发布!......
  • Burp Suite Professional / Community 2023.6 (macOS, Linux, Windows) - Web 应用安
    BurpSuiteProfessional/Community2023.6(macOS,Linux,Windows)-Web应用安全、测试和扫描BurpSuiteProfessional,Test,find,andexploitvulnerabilities.请访问原文链接:https://sysin.org/blog/burp-suite-pro-2023/,查看最新版。原创作品,转载请保留出处。作者......
  • python: generator
    a=10defaddgoled():globalaa+=1dd=[{'name':'zhang','age':10},{'name':'tu','age':13}]d={'name':'zhang','age':10}defadddict():globald#......
  • ChatGPT API Transition Guide
    ChatGPTAPITransitionGuideHowtogetstartedWrittenby JoshuaJ.. UpdatedoveraweekagoPromptstoMessagesTohaveamoreinteractiveanddynamicconversationwithourmodels,youcanusemessagesinChatGPTinsteadoftheoldprompt-styleusingwithc......
  • jmeter非gui运行,jtl生成了,但是html报告没有生成
     jmeter非gui运行,jtl生成了,但是html报告没有生成,查看log,内容如下: 22:45:00,913ERRORo.a.j.JMeter:Errorgeneratingdashboard:org.apache.jmeter.report.dashboard.GenerationException:Errorwhileprocessingsamples:Mismatchbetweenexpectednumberofcolumns:17......
  • Vue进阶(幺贰幺):ElementUI 表单校验注意事项
    (文章目录)一、表单检验注:prop对应的不单单是rules规则里面的验证项,同时对应着form-item下v-model绑定的值。prop绑定的类要与el-form-item下v-model的值相对应。否则就算校验元素输入字符,也会提示“请输入”之类的提示语,造成校验不友好问题。二、清除表单校验//清除表单校......
  • v831开发日记-交叉编译之python-build解析
    python部分#!/usr/bin/envpython#-*-coding=utf-8-*-##@filefromhttps://github.com/Neutree/c_cpp_project_framework#@authorneucrack#@licenseApache2.0##这段代码使用Python语言,导入了sys和os模块。它定义了一个名为sdk_env_name的变量,其值为"LIBMAIX_......
  • Quizlet Plus 获取
    QuizletPlus获取基本流程:申请一个临时邮箱去注册,然后邀请一个新人(也是临时邮箱),这样原来的邮箱就会变成30天高级账号(注意所有的注册都应该勾选"Iamateacher"!)(1)注册临时邮箱打开浏览器搜索tempmail(或直接点击链接......
  • 回答朋友提问:Fiori UI 中如何知道当前系统 Client ID (一)
    今天我的SAP开发技术交流群里,有朋友问这样的问题:在Fiori界面中,怎么查看当前Client?我觉得要回答这个问题,需要提问的朋友提供更多的背景信息,比如:Fiori界面,是运行在ABAPOn-Premises上,还是Cloud环境(Cloud环境下想知道ClientID貌似没有意义,因为这个字段值只对SAP......