这个项目是几年前无聊的时候写的,基本上就是借助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