1.要求
JDK 17
Maven 3.6+
MySQL 8.0
IDEA(开发工具)
2.下载jar包放到一个固定文件夹下
3.创建数据库,执行sql
/*
Navicat Premium Data Transfer
Source Server : localhost
Source Server Type : MySQL
Source Server Version : 80038
Source Host : localhost:3306
Source Schema : maku_generator
Target Server Type : MySQL
Target Server Version : 80038
File Encoding : 65001
Date: 15/07/2024 19:05:59
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for gen_base_class
-- ----------------------------
DROP TABLE IF EXISTS `gen_base_class`;
CREATE TABLE `gen_base_class` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
`package_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '基类包名',
`code` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '基类编码',
`fields` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '基类字段,多个用英文逗号分隔',
`remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '基类管理' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of gen_base_class
-- ----------------------------
-- ----------------------------
-- Table structure for gen_datasource
-- ----------------------------
DROP TABLE IF EXISTS `gen_datasource`;
CREATE TABLE `gen_datasource` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
`db_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '数据库类型',
`conn_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '连接名',
`conn_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'URL',
`username` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '用户名',
`password` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '密码',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '数据源管理' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of gen_datasource
-- ----------------------------
INSERT INTO `gen_datasource` VALUES (2, 'MySQL', 'local', 'jdbc:mysql://localhost:3306/demologin?serverTimezone=Asia/Shanghai', 'root', 'root', '2024-07-15 15:04:50');
-- ----------------------------
-- Table structure for gen_field_type
-- ----------------------------
DROP TABLE IF EXISTS `gen_field_type`;
CREATE TABLE `gen_field_type` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
`column_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '字段类型',
`attr_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '属性类型',
`package_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '属性包名',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `column_type`(`column_type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 32 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '字段类型管理' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of gen_field_type
-- ----------------------------
INSERT INTO `gen_field_type` VALUES (1, 'datetime', 'Date', 'java.util.Date', NULL);
INSERT INTO `gen_field_type` VALUES (2, 'date', 'Date', 'java.util.Date', NULL);
INSERT INTO `gen_field_type` VALUES (3, 'tinyint', 'Integer', NULL, NULL);
INSERT INTO `gen_field_type` VALUES (6, 'int', 'Integer', NULL, NULL);
INSERT INTO `gen_field_type` VALUES (7, 'integer', 'Integer', NULL, NULL);
INSERT INTO `gen_field_type` VALUES (8, 'bigint', 'Long', NULL, NULL);
INSERT INTO `gen_field_type` VALUES (10, 'double', 'Double', NULL, NULL);
INSERT INTO `gen_field_type` VALUES (11, 'decimal', 'BigDecimal', 'java.math.BigDecimal', NULL);
INSERT INTO `gen_field_type` VALUES (12, 'bit', 'Boolean', NULL, NULL);
INSERT INTO `gen_field_type` VALUES (13, 'char', 'String', NULL, NULL);
INSERT INTO `gen_field_type` VALUES (14, 'varchar', 'String', NULL, NULL);
INSERT INTO `gen_field_type` VALUES (15, 'tinytext', 'String', NULL, NULL);
INSERT INTO `gen_field_type` VALUES (16, 'text', 'String', NULL, NULL);
INSERT INTO `gen_field_type` VALUES (17, 'mediumtext', 'String', NULL, NULL);
INSERT INTO `gen_field_type` VALUES (18, 'longtext', 'String', NULL, NULL);
INSERT INTO `gen_field_type` VALUES (19, 'timestamp', 'Date', 'java.util.Date', NULL);
INSERT INTO `gen_field_type` VALUES (20, 'blob', 'Byte[]', '', NULL);
INSERT INTO `gen_field_type` VALUES (21, 'float', 'String', NULL, NULL);
-- ----------------------------
-- Table structure for gen_project_modify
-- ----------------------------
DROP TABLE IF EXISTS `gen_project_modify`;
CREATE TABLE `gen_project_modify` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
`project_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目名',
`project_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目标识',
`project_package` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目包名',
`project_path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目路径',
`modify_project_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '变更项目名',
`modify_project_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '变更标识',
`modify_project_package` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '变更包名',
`exclusions` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '排除文件',
`modify_suffix` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '变更文件',
`modify_tmp_path` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '变更临时路径',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '项目名变更' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of gen_project_modify
-- ----------------------------
-- ----------------------------
-- Table structure for gen_table
-- ----------------------------
DROP TABLE IF EXISTS `gen_table`;
CREATE TABLE `gen_table` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
`table_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '表名',
`class_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '类名',
`table_comment` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '说明',
`author` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '作者',
`email` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '邮箱',
`package_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目包名',
`version` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目版本号',
`generator_type` tinyint NULL DEFAULT NULL COMMENT '生成方式 0:zip压缩包 1:自定义目录',
`backend_path` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '后端生成路径',
`frontend_path` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '前端生成路径',
`module_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '模块名',
`function_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '功能名',
`form_layout` tinyint NULL DEFAULT NULL COMMENT '表单布局 1:一列 2:两列',
`datasource_id` bigint NULL DEFAULT NULL COMMENT '数据源ID',
`baseclass_id` bigint NULL DEFAULT NULL COMMENT '基类ID',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `table_name`(`table_name` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '代码生成表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of gen_table
-- ----------------------------
INSERT INTO `gen_table` VALUES (3, 'sgt_user', 'SgtUser', 'sgt_user', 'sgt', 's187654@163.com', 'com.sgt', '1.0.0', 0, 'data.java', 'data.web', 'user', 'sgt_user', 1, 2, NULL, '2024-07-15 15:43:51');
INSERT INTO `gen_table` VALUES (5, 'sys_user', 'SysUser', 'sgt_user', 'sgt', 's187654@163.com', 'com.sgt', '1.0.0', 0, 'data-java', 'data-web', 'user', 'sys_user', 1, 2, NULL, '2024-07-15 16:33:58');
-- ----------------------------
-- Table structure for gen_table_field
-- ----------------------------
DROP TABLE IF EXISTS `gen_table_field`;
CREATE TABLE `gen_table_field` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
`table_id` bigint NULL DEFAULT NULL COMMENT '表ID',
`field_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '字段名称',
`field_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '字段类型',
`field_comment` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '字段说明',
`attr_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '属性名',
`attr_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '属性类型',
`package_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '属性包名',
`sort` int NULL DEFAULT NULL COMMENT '排序',
`auto_fill` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自动填充 DEFAULT、INSERT、UPDATE、INSERT_UPDATE',
`primary_pk` tinyint NULL DEFAULT NULL COMMENT '主键 0:否 1:是',
`base_field` tinyint NULL DEFAULT NULL COMMENT '基类字段 0:否 1:是',
`form_item` tinyint NULL DEFAULT NULL COMMENT '表单项 0:否 1:是',
`form_required` tinyint NULL DEFAULT NULL COMMENT '表单必填 0:否 1:是',
`form_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '表单类型',
`form_dict` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '表单字典类型',
`form_validator` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '表单效验',
`grid_item` tinyint NULL DEFAULT NULL COMMENT '列表项 0:否 1:是',
`grid_sort` tinyint NULL DEFAULT NULL COMMENT '列表排序 0:否 1:是',
`query_item` tinyint NULL DEFAULT NULL COMMENT '查询项 0:否 1:是',
`query_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '查询方式',
`query_form_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '查询表单类型',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '代码生成表字段' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of gen_table_field
-- ----------------------------
INSERT INTO `gen_table_field` VALUES (12, 3, 'id', 'int', '主键ID', 'id', 'Integer', NULL, 0, 'DEFAULT', 1, 0, 1, 0, 'text', NULL, NULL, 1, 0, 0, '=', 'text');
INSERT INTO `gen_table_field` VALUES (13, 3, 'name', 'varchar', '姓名', 'name', 'String', NULL, 1, 'DEFAULT', 0, 0, 1, 0, 'text', NULL, NULL, 1, 0, 0, '=', 'text');
INSERT INTO `gen_table_field` VALUES (14, 3, 'password', 'varchar', '密码', 'password', 'String', NULL, 2, 'DEFAULT', 0, 0, 1, 0, 'text', NULL, NULL, 1, 0, 0, '=', 'text');
INSERT INTO `gen_table_field` VALUES (15, 3, 'id_card', 'varchar', '身份证号', 'idCard', 'String', NULL, 3, 'DEFAULT', 0, 0, 1, 0, 'text', NULL, NULL, 1, 0, 0, '=', 'text');
INSERT INTO `gen_table_field` VALUES (16, 3, 'age', 'int', '年龄', 'age', 'Integer', NULL, 4, 'DEFAULT', 0, 0, 1, 0, 'text', NULL, NULL, 1, 0, 0, '=', 'text');
INSERT INTO `gen_table_field` VALUES (22, 5, 'id', 'int', '主键ID', 'id', 'Integer', NULL, 0, 'DEFAULT', 1, 0, 1, 0, 'text', NULL, NULL, 1, 0, 0, '=', 'text');
INSERT INTO `gen_table_field` VALUES (23, 5, 'name', 'varchar', '姓名', 'name', 'String', NULL, 1, 'DEFAULT', 0, 0, 1, 0, 'text', NULL, NULL, 1, 0, 0, '=', 'text');
INSERT INTO `gen_table_field` VALUES (24, 5, 'password', 'varchar', '密码', 'password', 'String', NULL, 2, 'DEFAULT', 0, 0, 1, 0, 'text', NULL, NULL, 1, 0, 0, '=', 'text');
INSERT INTO `gen_table_field` VALUES (25, 5, 'id_card', 'varchar', '身份证号', 'idCard', 'String', NULL, 3, 'DEFAULT', 0, 0, 1, 0, 'text', NULL, NULL, 1, 0, 0, '=', 'text');
INSERT INTO `gen_table_field` VALUES (26, 5, 'age', 'int', '年龄', 'age', 'Integer', NULL, 4, 'DEFAULT', 0, 0, 1, 0, 'text', NULL, NULL, 1, 0, 0, '=', 'text');
SET FOREIGN_KEY_CHECKS = 1;
4.通过cmd进入黑窗口(窗口不能关闭,关闭后不能访问)
java -jar maku-generator-server.jar
![](https://img-blog.csdnimg.cn/direct/dc8ea75ea43e4bcbb77c2e861af33a8d.png)
5.访问地址
http://localhost:8088/maku-generator/index.html
6.访问成功,使用不写了,自己研究