写了一个mybatis-generator-ui,各种代码自动生成,开源!

这个项目是几年前无聊的时候写的,基本上就是借助Mybatis-generator的自动生成功能,做成了可视化的。可以自定义项目,模板和代码生成规则,个人用用还是挺香的,包括我自己做项目也会使用,确实能在一定程度上提升开发效率。

话不多说,直接看下有哪些核心功能。

1. 根据SQL,自动生成表

假设我有这样一段sql:

CREATE TABLE `students` (  `id` int NOT NULL AUTO_INCREMENT COMMENT '学生ID',  `student_id` varchar(20) NOT NULL COMMENT '学号',  `name` varchar(50) NOT NULL COMMENT '姓名',  `gender` enum('男','女','其他') DEFAULT NULL COMMENT '性别',  `age` tinyint DEFAULT NULL COMMENT '年龄',  `class_id` varchar(20) DEFAULT NULL COMMENT '班级ID',  `major` varchar(50) DEFAULT NULL COMMENT '专业',  `enrollment_date` date DEFAULT NULL COMMENT '入学日期',  `phone` varchar(20) DEFAULT NULL COMMENT '联系电话',  `email` varchar(50) DEFAULT NULL COMMENT '电子邮箱',  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',  PRIMARY KEY (`id`),  UNIQUE KEY `uniq_student_id` (`student_id`),  KEY `idx_class_id` (`class_id`),  KEY `idx_name` (`name`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生信息表';

在系统首页,可以点击导入

图片

图片

图片

如图,这样就导入成功了,系统会根据你的建表语句,自动去识别字段。

2. 快速导入已有的表

图片

点击导入表,会从右侧弹出一个抽屉,能够看到所有的表

图片

点击可以展开,查看表的字段信息

图片

点击导入即可。

系统支持在已有表上新增字段,或者转储SQL。

图片

比如,我要在学生表新增一个状态,就点击新增一行

图片

系统会实时保存的,再转储SQL,可以看到最新的SQL

图片

3. 项目管理

每一张表隶属于某一个项目,这个页面是管理项目的。

图片

4. 表管理

图片

5. 模板管理

图片

这个页面就是管理所有的VM模板,其实就是正常你使用mybatis-generator一样的,比如我这边有一个实体类的模板(点击预览可以查看模板):

图片

代码:

import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.TableName;import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor;import java.math.BigDecimal;import java.util.Date;/** * $!{tableName} * @author ${author} * @since ${date}*/@Data@Builder@AllArgsConstructor@NoArgsConstructor@TableName("${tableNameUnder}")public class ${tableNameNoUnder}{## ----------  BEGIN 字段循环遍历  ----------#foreach($field in ${tableFields})#if(${field.primaryKey} == 1)    /**    * 自增主键    */    @TableId(type = IdType.AUTO)    private Long id;#else    /**    * ${field.columnComment}    */    private ${field.columnType} ${field.columnName};#end#end}

6. 根据模板+表生成代码

回到首页,选择刚刚的模板

图片

勾选所有的字段,点击自定义生成

图片

生成后的代码:

import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.TableName;import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor;
import java.math.BigDecimal;import java.util.Date;
/** * 学生信息表 * @author 小牛 * @since 2025-05-13 14:27:14*/@Data@Builder@AllArgsConstructor@NoArgsConstructor@TableName("students")public class Students{

    /**    * 自增主键    */    @TableId(type = IdType.AUTO)    private Long id;
    /**    * 学号    */    private String studentId;
    /**    * 姓名    */    private String name;
    /**    * 性别    */    private String gender;
    /**    * 年龄    */    private Byte age;
    /**    * 班级ID    */    private String classId;
    /**    * 专业    */    private String major;
    /**    * 入学日期    */    private Date enrollmentDate;
    /**    * 联系电话    */    private String phone;
    /**    * 电子邮箱    */    private String email;
    /**    * 创建时间    */    private Date createTime;
    /**    * 更新时间    */    private Date updateTime;
    /**    * 状态    */    private String status;}

还有其他一些小功能,比如首页有个简单的Mock数据。

具体的自定义代码生成,直接看

createCommonModule

这个方法即可,你可以根据自己的需求随意魔改。

7. 代码下载

https://gitee.com/skyblue0678/mybatis-generator-ui

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

剽悍一小兔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值