7 Star 95 Fork 160

最后 / lamp-generator

Create your Gitee Account
Explore and code with more than 8 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

lamp 快速开发平台

AUR GitHub stars star GitHub forks fork

lamp 项目名字由来

叙事版:

在一个夜黑风高的晚上,小孩吵着要出去玩,于是和程序员老婆一起带小孩出去放风,路上顺便讨论起项目要换个什么名字,在各自想出的名字都被对方一一否决后,大家陷入了沉思。 走着走着,在一盏路灯下,孩砸盯着路灯打破宁静,喊出:灯灯~ 我和媳妇愣了一下,然后对视着一起说:哈哈,这个名字好~

解释版:

灯灯: 是我小孩学说话时会说的第一个词,也是我在想了很多项目名后,小孩一语点破的一个名字,灯灯象征着光明,给困境的我们带来希望,给加班夜归的程序员们指引前方~

灯灯(简称灯, 英文名:lamp),他是一个项目的统称,包含以下几个子项目

lamp 项目组成

注意: 请先下载lamp-util 代码并编译(mvn install) 到本地仓库,然后在编译(mvn install)lamp-cloud或lamp-boot项目, 最后编译(mvn install)lamp-job项目!!!

工具集 (lamp-util 项目必备,其他2个可选)

项目 gitee github 备注
工具集 lamp-util lamp-util 业务无关的工具集,cloud 和 boot 项目都依赖它
代码生成器 lamp-generator lamp-generator 给开发人员使用
定时调度器 lamp-job lamp-job 尚未开发

后端 (下面2个项目功能一致,任选其一即可)

项目 gitee github 备注
微服务版(后端) lamp-cloud lamp-cloud SpringCloud 版
单体版(后端) lamp-boot lamp-boot SpringBoot 版(和 lamp-cloud 功能基本一致)

前端 (下面3个项目功能一致,任选其一即可)

项目 gitee github 备注 演示地址
中后台管理系统 lamp-web lamp-web (全部功能已完成)基于 vue-admin-element http://tangyh.top/lamp-web
中后台管理系统 (强烈推荐!👏👏👏) lamp-web-beautiful lamp-web-beautiful (正在开发...)基于 vue-vben-admin (vue 3 + vite 2) http://tangyh.top
中后台管理系统 lamp-web-beautiful lamp-web-beautiful (正在开发...)基于 vue-admin-beautiful -

lamp-generator 简介

lamp-generator 的前身是 zuihou-generator,在3.0.0版本之后,改名为lamp-generator,它是lamp项目的其中一员。

lamp-generator是基于 mybatis-plus-generator 自定义的代码生成器,专门为 lamp-cloudlamp-cloud 项目量身定做的代码生成器。 自定义的代码规范、可读性差了一些,但还能凑合着用。因为主角是:lamp-cloud

快速上手

使用规则

- 暂时只支持生成MySQL表,Oracle需要微调代码,有需要的可以留言提交上来
- 参考 TestGenerator 类
- 每次执行前需配置参数,含代码生成目录(本地绝对目录),数据库连接,项目名、模块名,表列表等。目前已提供模板。
- 如果表有前缀,务必配置 tablePrefix 属性。
    例如:表名为f_file,则需要进行下列配置,生成的类会自动排除掉f_前缀。
    new CodeGeneratorConfig().setTablePrefix("f_");
- serviceName、childModuleName、childPackageName的区别
    serviceName: 表示`服务名` ,如 zuihou-file 服务,就填 file  
    childModuleName: 表示`模块名` ,如 zuihou-msgs 服务下面分为  zuihou-msgs、zuihou-sms、zuihou-email等, 在生成sms、email等模块时,就需要指定为 sms、email  
    childPackageName的区别: 表示`子包名` ,用于在服务下,进行分包。如 zuihou-authority 项目下有 auth、common、core等子包
- 支持枚举类型改变存储路径。 参考CodeGeneratorConfig.setFiledTypes
- 支持controller、service、dao、xml等各个模块 自定义生成策略: 覆盖、新增、忽略。参考:FileCreateConfig config = new FileCreateConfig(GenerateType.OVERRIDE);

数据库设计原则

- 必须显式指定`主键`
- 任何表至少包含3个字段: bigint id、 datetime createTime、bigint createUpdate (可以自行修改 EntityType)
- 表、字段 必须加注释
- 表名注释支持换行,第一行会被视为表名。 表的介绍请换行填写。
- 字段的第一行视为字段简介,详细介绍和枚举类型请换行
- 所有字段尽量根据业务设置合理的`缺省值`,尽量避免表中出现 NULL值
- 当字段为外键时,字段名为: 关联表_id, 注释需要在字段注释基础上,换行加上 `#关联表表名` 来说明关联的哪张表。(注意英文#号)
- 当字段为枚举时,需按照模板配置:
```
    (注意: 注释内容 需要替换成当前字段的具体注释)
    
    注释模板1: 注释内容 #枚举类名{枚举值英文名:"枚举值英文注释";  ...}
    注释模板2: 注释内容 #枚举类名{枚举值英文名:val,"枚举值英文注释";  ...}
    注释模板3: 注释内容 #枚举类名{枚举值英文名:val,"枚举值英文注释",val2;  ...}
    注释模板4: 注释内容 #{枚举值英文名:"枚举值英文注释";  ...}
    其中枚举类名可以没有,如果没有,则生成的枚举值名为:表对应的实体名 + 当前字段对应的属性名(首字母大写) + Enum 
    枚举值例子:
        文件类型 #FileType{PAN:云盘数据;API:接口数据}
        数据类型 #DataType{DIR:1,目录;IMAGE:2,图片;VIDEO:3,视频;AUDIO:4,音频;DOC:5,文档;OTHER:6,其他}
        数据类型 #{DIR:目录;IMAGE:图片;VIDEO:视频;AUDIO:音频;DOC:文档;OTHER:其他}
```

完整例子:
```
CREATE TABLE `zuihou_file_dev`.`f_file`  (
  `id` bigint(20) NOT NULL COMMENT '主键',
  `data_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'IMAGE' COMMENT '数据类型\n#DataType{DIR:目录;IMAGE:图片;VIDEO:视频;AUDIO:音频;DOC:文档;OTHER:其他}',
  `submitted_file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '原始文件名',
  `tree_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT ',' COMMENT '父目录层级关系',
  `grade` int(11) NULL DEFAULT 1 COMMENT '层级等级\n从1开始计算',
  `is_delete` bit(1) NULL DEFAULT b'0' COMMENT '是否删除\n#BooleanStatus{TRUE:1,已删除;FALSE:0,未删除}',
  `folder_id` bigint(20) NULL DEFAULT 0 COMMENT '父文件夹ID',
  `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '文件访问链接\n需要通过nginx配置路由,才能访问',
  `size` bigint(20) NULL DEFAULT 0 COMMENT '文件大小\n单位字节',
  `folder_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '父文件夹名称',
  `group_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'FastDFS组\n用于FastDFS',
  `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'FastDFS远程文件名\n用于FastDFS',
  `relative_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '文件的相对路径 ',
  `file_md5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'md5值',
  `context_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '文件类型\n取上传文件的值',
  `filename` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '唯一文件名',
  `ext` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '文件名后缀 \n(没有.)',
  `icon` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '文件图标\n用于云盘显示',
  `create_month` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时年月\n格式:yyyy-MM 用于统计',
  `create_week` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时年周\nyyyy-ww 用于统计',
  `create_day` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时年月日\n格式: yyyy-MM-dd 用于统计',
  `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
  `create_user` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
  `update_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间',
  `update_user` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人',
  PRIMARY KEY (`id`) USING BTREE,
  FULLTEXT INDEX `FU_TREE_PATH`(`tree_path`)
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文件表' ROW_FORMAT = Dynamic;
```

如果觉得对您有任何一点帮助,请点右上角 "Star" 支持一下吧,谢谢!

点我详细查看如何使用本项目来生成代码

ps: gitee捐献 或者 二维码打赏(本页最下方): 45元及以上 并 备注邮箱,可得开发文档一份(支持后续更新)
打赏或者捐献后直接加群:1039545140 并备注打赏时填写的邮箱,可以持续的获取最新的文档。 

会员版

本项目分为开源版、会员版,github和gitee上能搜索到的为开源版本,遵循Apache协议。 会员版源码在私有gitlab托管,购买后开通账号。

会员版和会员版区别请看:会员版

lamp 会员版项目演示地址

友情链接 & 特别鸣谢

About

基于 `mybatis-plus-generator` 自定义的代码生成器,专门为 [lamp-cloud](https://github.com/zuihou/lamp-cloud) 和 [lamp-boot](https://github.com/zuihou/lamp-boot) 项目量身定做的代码生成器。 expand collapse
Cancel

Releases (2)

All

lamp-generator

Contributors

All

Activities

Load More
can not load any more
Java
1
https://gitee.com/zuihou111/lamp-generator.git
git@gitee.com:zuihou111/lamp-generator.git
zuihou111
lamp-generator
lamp-generator
master

Search