mybatis-plus-generator-ui 可视化代码生成器!
它提供交互式的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原稿和原图片。其它情况一律禁止转载!
mybatis-plus-generator-ui 可视化代码生成器!的更多相关文章
- MyBatis - 7.MyBatis逆向 Generator
MyBatis Generator: 简称MBG,是一个专门为MyBatis框架使用者定制的代码生成器,可以快速的根据表生成对应的映射文件,接口,以及bean类.支持基本的增删改查,以及QBC风格的条 ...
- 修改mybatis plus Generator模板生成字段注释枚举常量
修改mybatis plus Generator模板生成字段注释枚举常量 本文基于最新的mybatis-plus 3.0.1版本源码修改,如果使用其它版本,处理方式也类似,主要是生成Entity的Fr ...
- mybatis使用generator自己主动生成代码时的类型转换
使用mybatis的generator自己主动生成代码,可是oracle数据库中number(6,2)总是自己主动转成BigDecimal.我想要转成的是float类型 这样就写了一个类型转换器,须要 ...
- 【Mybatis】MyBatis之Generator自动生成代码(九)
MyBatis Generator 简介 MyBatis Generator 连接数据库表并生成MyBatis或iBatis文件.这有助于最大限度地减少使用MyBatis时为数据库文件创建简单CRUD ...
- 手把手教你基于SqlSugar4编写一个可视化代码生成器(生成实体,以SqlServer为例,文末附源码)
在开发过程中免不了创建实体类,字段少的表可以手动编写,但是字段多还用手动创建的话不免有些浪费时间,假如一张表有100多个字段,手写有些不现实. 这时我们会借助一些工具,如:动软代码生成器.各种ORM框 ...
- 一行代码完成定时任务调度,基于Quartz的UI可视化操作组件 GZY.Quartz.MUI
前言 之前发布过第一个版本,有兴趣的可以去看看: NET Core 基于Quartz的UI可视化操作组件 GZY.Quartz.MUI 简介 GitHub开源地址:l2999019/GZY.Quart ...
- MyBatis使用Generator自动生成代码
MyBatis中,可以使用Generator自动生成代码,包括DAO层. MODEL层 .MAPPING SQL映射文件. 第一步: 配置好自动生成代码所需的XML配置文件,例如(generator. ...
- MyBatis学习(四)代码生成器MyBatis-Generator
一.简介 前面写过一篇文章介绍了如何使用Mybatis,那么如果我门数据库中有许许多多的表的时候,每张表都手动去写对应的mapper的映射关系,会非常麻烦,那么我们可以使用代码生成器MyBatis-G ...
- Mybatis使用generator自动生成映射配置文件信息
使用mybatis配置映射文件比较的麻烦,但是有自动生成jar工具,方便加速开发速度,下面主要是该工具的使用以及相关的配置. 1.下载相关的资源 我们需要下载mybatis-generator-co ...
- iOS学习之UI可视化编程-StoryBoard
一.StoryBoard与xib 对比: 相同点:都属于IB编程的方式,可以快速构建GUI. 不同点:xib侧重于单文件(单独的控制器或者视图)编辑,storyboard侧重于多页面关联.storyb ...
随机推荐
- pcm音频的录制、播放及转换
操作系统 :Windows10_x64 pcm格式为原始音频数据,有时候会遇到需要录制.播放及转换的情况,这里记录下. 一.录制pcm音频 这里演示下使用Audacity进行pcm音频录音的过程. A ...
- Nmap基本使用【速查版】
列举远程机器开放的端口 nmap [域名] 列举远程机器开放的端口和服务 nmap --dns-servers 8.8.8.8 [域名] nmap进行探测之前要把域名通过DNS服务器解析为IP地址,我 ...
- 系统评价——层次分析法AHP的R语言实现(四)
对一个事物的评价往往会涉及多个因素或者多个指标,评价是在多个因素相互作用下的一个综合判断.多指标综合评价方法具有以下的特点:包含若干个指标,分别说明被评价对象的不同方面,评价方法最终要对被评价对象作出 ...
- SELinux入门学习总结
前言 安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统. SELinux 主要由美国国家 ...
- [Linux]CentOS查看RPM包依赖问题
[经典应用案例] 查看此文前,可先查看 此博文中:在安装软件过程中,如何解决的依赖组件问题? [数据库/Linux]CentOS7安装MySQL Percona版(RPM方式) : 2-1 依赖组件问 ...
- windows 10 家庭版安装Docker和portainer汉化版
目录 前景提要 存在问题 一.Docker的windows版本安装 1.官网下载: https://www.docker.com/(没有本文问题的直接下载就好.) 2.本文是找到其他版本的Docker ...
- Ubuntu系统Flameshot使用问题
Ubuntu系统Flameshot使用问题 系统:Ubuntu22.04 问题:使用Flameshot,每次都会先截取整个屏幕,提示需要先分享,再使用Flameshot的功能 安装Flameshot ...
- JUC(八)ThreadLocal
ThreadLocal 简介 ThreadLocal提供局部线程变量,这个变量与普通的变量不同,每个线程在访问ThreadLocal实例的时候,(通过get或者set方法)都有自己的.独立初始化变量副 ...
- Kubernetes入门实践(Pods)
为了解决多应用联合运行的问题,同时还要不破坏容器的隔离,就要再对多个容器进行打包.Pod就是对容器的打包,里面的容器可以看成是一个整体,总是能一起调度.一起运行,绝不会出现分离的情况,而Pod属于Ku ...
- 【Dotnet 工具箱】WPF UI - 现代化设计的开源 WPF 框架
1.WPF UI - 现代化设计的开源 WPF 框架 WPF UI 是一个基于 C# 开发的, 拥有 4k star 的开源 UI 框架.WPF UI 在 WPF 的基础上,提供了更多的现代化,流利的 ...