{"id":16422578,"url":"https://github.com/zuihou/lamp-generator","last_synced_at":"2025-04-09T09:11:02.845Z","repository":{"id":37327111,"uuid":"193247922","full_name":"zuihou/lamp-generator","owner":"zuihou","description":"该项目基于lamp-cloud 的3.x 版本，4.x 版本无需使用此项目","archived":false,"fork":false,"pushed_at":"2024-05-16T17:26:27.000Z","size":318,"stargazers_count":109,"open_issues_count":2,"forks_count":164,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-02T07:09:18.357Z","etag":null,"topics":["code","generator"],"latest_commit_sha":null,"homepage":"http://tangyh.top:3100","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zuihou.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-22T15:15:20.000Z","updated_at":"2024-09-17T09:10:51.000Z","dependencies_parsed_at":"2025-03-03T23:49:14.773Z","dependency_job_id":"cb3b4c63-a277-4e93-90e1-01f6b91cd858","html_url":"https://github.com/zuihou/lamp-generator","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zuihou%2Flamp-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zuihou%2Flamp-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zuihou%2Flamp-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zuihou%2Flamp-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zuihou","download_url":"https://codeload.github.com/zuihou/lamp-generator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248008630,"owners_count":21032556,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["code","generator"],"created_at":"2024-10-11T07:37:02.805Z","updated_at":"2025-04-09T09:11:02.829Z","avatar_url":"https://github.com/zuihou.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lamp 快速开发平台\n\n[![AUR](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg)](https://github.com/zuihou/lamp-cloud/blob/master/LICENSE)\n[![](https://img.shields.io/badge/作者-zuihou-orange.svg)](https://github.com/zuihou)\n[![](https://img.shields.io/badge/版本-3.6.2-brightgreen.svg)](https://github.com/zuihou/lamp-cloud)\n[![GitHub stars](https://img.shields.io/github/stars/zuihou/lamp-cloud.svg?style=social\u0026label=Stars)](https://github.com/zuihou/lamp-cloud/stargazers)\n[![star](https://gitee.com/zuihou111/lamp-cloud/badge/star.svg?theme=white)](https://gitee.com/zuihou111/lamp-cloud/stargazers)\n[![GitHub forks](https://img.shields.io/github/forks/zuihou/lamp-cloud.svg?style=social\u0026label=Fork)](https://github.com/zuihou/lamp-cloud/network/members)\n[![fork](https://gitee.com/zuihou111/lamp-cloud/badge/fork.svg?theme=white)](https://gitee.com/zuihou111/lamp-cloud/members)\n\n# lamp 项目名字由来\n## 叙事版：\n在一个夜黑风高的晚上，小孩吵着要出去玩，于是和`程序员老婆`一起带小孩出去放风，路上顺便讨论起项目要换个什么名字，在各自想出的名字都被对方一一否决后，大家陷入了沉思。\n走着走着，在一盏路灯下，孩砸盯着路灯打破宁静，喊出：灯灯～ 我和媳妇愣了一下，然后对视着一起说：哈哈，这个名字好～\n\n## 解释版：\n`灯灯`： 是我小孩学说话时会说的第一个词，也是我在想了很多项目名后，小孩一语点破的一个名字，灯灯象征着光明，给困境的我们带来希望，给加班夜归的程序员们指引前方～\n\n`灯灯`(简称灯， 英文名：lamp)，他是一个项目的统称，包含以下几个子项目\n\n## lamp 项目组成\n注意： 请先下载lamp-util 代码并编译（mvn install） 到本地仓库，然后在编译（mvn install）lamp-cloud或lamp-boot项目， 最后编译（mvn install）lamp-job项目！！！\n\n### 工具集 （lamp-util 项目必备，其他2个可选）\n\n| 项目 | gitee | github | 备注 | \n| --- | --- | --- | --- |\n| 工具集 | [lamp-util](https://gitee.com/zuihou111/lamp-util) | [lamp-util](https://github.com/zuihou/lamp-util) | 业务无关的工具集，cloud 和 boot 项目都依赖它 |\n| 代码生成器 | [lamp-generator](https://gitee.com/zuihou111/lamp-generator) | [lamp-generator](https://github.com/zuihou/lamp-generator) | 给开发人员使用 |\n| 定时调度器 | [lamp-job](https://gitee.com/zuihou111/lamp-job) | [lamp-job](https://github.com/zuihou/lamp-job) | 尚未开发 |\n\n### 后端 （下面2个项目功能一致，任选其一即可）\n\n| 项目 | gitee | github | 备注 |\n| --- | --- | --- | --- |\n| 微服务版(后端) | [lamp-cloud](https://gitee.com/zuihou111/lamp-cloud) | [lamp-cloud](https://github.com/zuihou/lamp-cloud) | SpringCloud 版 |\n| 单体版(后端) | [lamp-boot](https://gitee.com/zuihou111/lamp-boot) | [lamp-boot](https://github.com/zuihou/lamp-boot) | SpringBoot 版(和 lamp-cloud 功能基本一致) |\n\n### 前端 （下面3个项目功能一致，任选其一即可）\n\n| 项目 | gitee | github | 备注 | 演示地址 |\n| --- | --- | --- | --- | --- |\n| 中后台管理系统 | [lamp-web](https://gitee.com/zuihou111/lamp-web) | [lamp-web](https://github.com/zuihou/lamp-web) | （全部功能已完成）基于 vue-admin-element | http://tangyh.top/lamp-web |\n| 中后台管理系统 (强烈推荐！👏👏👏) | [lamp-web-beautiful](https://gitee.com/zuihou111/lamp-web-plus) | [lamp-web-beautiful](https://github.com/zuihou/lamp-web-plus) | （正在开发...）基于 vue-vben-admin （vue 3 + vite 2） | http://tangyh.top |\n| 中后台管理系统 | [lamp-web-beautiful](https://gitee.com/zuihou111/lamp-web-beautiful) | [lamp-web-beautiful](https://github.com/zuihou/lamp-web-beautiful) | （正在开发...）基于 vue-admin-beautiful | - |\n\n# lamp-generator 简介\n`lamp-generator` 的前身是 `zuihou-generator`，在3.0.0版本之后，改名为lamp-generator，它是`lamp`项目的其中一员。\n\n`lamp-generator`是基于 `mybatis-plus-generator` 自定义的代码生成器，专门为 [lamp-cloud](https://github.com/zuihou/lamp-cloud \"lamp-cloud\") 和 [lamp-cloud](https://github.com/zuihou/lamp-boot \"lamp-boot\") 项目量身定做的代码生成器。\n自定义的代码规范、可读性差了一些，但还能凑合着用。因为主角是：[lamp-cloud](https://github.com/zuihou/lamp-cloud \"lamp-cloud\")\n\n# 快速上手\n- 入门到精通，参考文档： https://www.kancloud.cn/zuihou/zuihou-admin-cloud\n- 发现bug和建议，请提交issue： https://github.com/zuihou/lamp-cloud/issues\n- 常见问题，请参考Discussions： https://github.com/zuihou/lamp-cloud/discussions\n\n## 使用规则\n\n    - 暂时只支持生成MySQL表，Oracle需要微调代码，有需要的可以留言提交上来\n    - 参考 TestGenerator 类\n    - 每次执行前需配置参数，含代码生成目录(本地绝对目录)，数据库连接，项目名、模块名，表列表等。目前已提供模板。\n    - 如果表有前缀，务必配置 tablePrefix 属性。\n        例如：表名为f_file，则需要进行下列配置，生成的类会自动排除掉f_前缀。\n        new CodeGeneratorConfig().setTablePrefix(\"f_\");\n    - serviceName、childModuleName、childPackageName的区别\n        serviceName： 表示`服务名` ，如 zuihou-file 服务，就填 file  \n        childModuleName： 表示`模块名` ，如 zuihou-msgs 服务下面分为  zuihou-msgs、zuihou-sms、zuihou-email等， 在生成sms、email等模块时，就需要指定为 sms、email  \n        childPackageName的区别： 表示`子包名` ，用于在服务下，进行分包。如 zuihou-authority 项目下有 auth、common、core等子包\n    - 支持枚举类型改变存储路径。 参考CodeGeneratorConfig.setFiledTypes\n    - 支持controller、service、dao、xml等各个模块 自定义生成策略： 覆盖、新增、忽略。参考：FileCreateConfig config = new FileCreateConfig(GenerateType.OVERRIDE);\n\n\n## 数据库设计原则\n\n    - 必须显式指定`主键`\n    - 任何表至少包含3个字段： bigint id、 datetime createTime、bigint createUpdate (可以自行修改 EntityType)\n    - 表、字段 必须加注释\n    - 表名注释支持换行，第一行会被视为表名。 表的介绍请换行填写。\n    - 字段的第一行视为字段简介，详细介绍和枚举类型请换行\n    - 所有字段尽量根据业务设置合理的`缺省值`，尽量避免表中出现 NULL值\n    - 当字段为外键时，字段名为： 关联表_id， 注释需要在字段注释基础上，换行加上 `#关联表表名` 来说明关联的哪张表。（注意英文#号）\n    - 当字段为枚举时，需按照模板配置：\n    ```\n        (注意： 注释内容 需要替换成当前字段的具体注释)\n        \n        注释模板1： 注释内容 #枚举类名{枚举值英文名:\"枚举值英文注释\";  ...}\n        注释模板2： 注释内容 #枚举类名{枚举值英文名:val,\"枚举值英文注释\";  ...}\n        注释模板3： 注释内容 #枚举类名{枚举值英文名:val,\"枚举值英文注释\",val2;  ...}\n        注释模板4： 注释内容 #{枚举值英文名:\"枚举值英文注释\";  ...}\n        其中枚举类名可以没有，如果没有，则生成的枚举值名为：表对应的实体名 + 当前字段对应的属性名(首字母大写) + Enum \n        枚举值例子：\n            文件类型 #FileType{PAN:云盘数据;API:接口数据}\n            数据类型 #DataType{DIR:1,目录;IMAGE:2,图片;VIDEO:3,视频;AUDIO:4,音频;DOC:5,文档;OTHER:6,其他}\n            数据类型 #{DIR:目录;IMAGE:图片;VIDEO:视频;AUDIO:音频;DOC:文档;OTHER:其他}\n    ```\n    \n    完整例子：\n    ```\n    CREATE TABLE `zuihou_file_dev`.`f_file`  (\n      `id` bigint(20) NOT NULL COMMENT '主键',\n      `data_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'IMAGE' COMMENT '数据类型\\n#DataType{DIR:目录;IMAGE:图片;VIDEO:视频;AUDIO:音频;DOC:文档;OTHER:其他}',\n      `submitted_file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '原始文件名',\n      `tree_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT ',' COMMENT '父目录层级关系',\n      `grade` int(11) NULL DEFAULT 1 COMMENT '层级等级\\n从1开始计算',\n      `is_delete` bit(1) NULL DEFAULT b'0' COMMENT '是否删除\\n#BooleanStatus{TRUE:1,已删除;FALSE:0,未删除}',\n      `folder_id` bigint(20) NULL DEFAULT 0 COMMENT '父文件夹ID',\n      `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '文件访问链接\\n需要通过nginx配置路由，才能访问',\n      `size` bigint(20) NULL DEFAULT 0 COMMENT '文件大小\\n单位字节',\n      `folder_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '父文件夹名称',\n      `group_` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'FastDFS组\\n用于FastDFS',\n      `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'FastDFS远程文件名\\n用于FastDFS',\n      `relative_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '文件的相对路径 ',\n      `file_md5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT 'md5值',\n      `context_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '文件类型\\n取上传文件的值',\n      `filename` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '唯一文件名',\n      `ext` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '文件名后缀 \\n(没有.)',\n      `icon` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '文件图标\\n用于云盘显示',\n      `create_month` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时年月\\n格式：yyyy-MM 用于统计',\n      `create_week` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时年周\\nyyyy-ww 用于统计',\n      `create_day` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建时年月日\\n格式： yyyy-MM-dd 用于统计',\n      `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',\n      `create_user` bigint(20) NULL DEFAULT NULL COMMENT '创建人',\n      `update_time` datetime(0) NULL DEFAULT NULL COMMENT '最后修改时间',\n      `update_user` bigint(20) NULL DEFAULT NULL COMMENT '最后修改人',\n      PRIMARY KEY (`id`) USING BTREE,\n      FULLTEXT INDEX `FU_TREE_PATH`(`tree_path`)\n    ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文件表' ROW_FORMAT = Dynamic;\n    ```\n\n\n# 如果觉得对您有任何一点帮助，请点右上角 \"Star\" 支持一下吧，谢谢！\n\n# [点我详细查看如何使用本项目来生成代码](https://www.kancloud.cn/zuihou/zuihou-admin-cloud) \n\n    ps: gitee捐献 或者 二维码打赏(本页最下方)： 45元及以上 并 备注邮箱，可得开发文档一份(支持后续更新)\n    打赏或者捐献后直接加群：1039545140 并备注打赏时填写的邮箱，可以持续的获取最新的文档。 \n\n# 会员版\n本项目分为开源版、会员版，github和gitee上能搜索到的为开源版本，遵循Apache协议。 会员版源码在私有gitlab托管，购买后开通账号。\n\n会员版和会员版区别请看：[会员版](https://www.kancloud.cn/zuihou/zuihou-admin-cloud/2074547)\n\n# lamp 会员版项目演示地址 \n- lamp-web-plus 地址： http://tangyh.top:3100\n- lamp-web 地址： http://tangyh.top:10000/lamp-web/\n- lamp-web-beautiful 地址： http://tangyh.top:180\n- 以下内置账号仅限于内置的0000租户 \n- 平台管理员： lamp_pt/lamp (内置给公司内部运营人员使用)\n- 超级管理员： lamp/lamp    \n- 普通管理员： general/lamp\n- 普通账号： normal/lamp\n\n# 友情链接 \u0026 特别鸣谢\n* SaaS型微服务快速开发平台：[https://github.com/zuihou/lamp-cloud](https://github.com/zuihou/lamp-cloud)\n* SaaS型单体快速开发平台：[https://github.com/zuihou/lamp-boot](https://github.com/zuihou/lamp-boot)\n* MyBatis-Plus：[https://mybatis.plus/](https://mybatis.plus/)\n* knife4j：[http://doc.xiaominfo.com/](http://doc.xiaominfo.com/)\n* hutool：[https://hutool.cn/](https://hutool.cn/)\n* xxl-job：[http://www.xuxueli.com/xxl-job/](http://www.xuxueli.com/xxl-job/)\n* kkfileview：[https://kkfileview.keking.cn](https://kkfileview.keking.cn)\n* vue-vben-admin(vue3.x + vite2.x)： [https://github.com/anncwb/vue-vben-admin](https://github.com/anncwb/vue-vben-admin)\n  lamp-web-plus 基于本项目改造  \n* FEBS Cloud Web： [https://gitee.com/mrbirdd/FEBS-Cloud-Web](https://gitee.com/mrbirdd/FEBS-Cloud-Web)\n    lamp-web 基于本项目改造， 感谢 [wuyouzhuguli](https://github.com/wuyouzhuguli)\n* Cloud-Platform： [https://gitee.com/geek_qi/cloud-platform](https://gitee.com/geek_qi/cloud-platform)\n    作者学习时接触到的第一个微服务项目\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzuihou%2Flamp-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzuihou%2Flamp-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzuihou%2Flamp-generator/lists"}