Однажды вечером, когда было темно и ветрено, ребёнок начал просить разрешения выйти поиграть. В итоге, вместе с женой программиста, они решили вывести ребёнка на прогулку, чтобы развеяться. По пути они обсуждали, какое название дать проекту. После того как все предложенные варианты были отвергнуты, они погрузились в размышления.
Прогуливаясь, они остановились у фонаря, где ребёнок, глядя на свет, воскликнул: «Фонарик!». Они оба были поражены этим словом и сказали друг другу: «Это отличное название!».
«Фонарик» (или «лампа») — это первое слово, которое произнёс ребёнок, когда учился говорить. Это название стало символом надежды и света в трудные времена, а также ориентиром для программистов, работающих допоздна.
LAMP — это общее название проекта, который включает в себя несколько подпроектов.
Обратите внимание: сначала необходимо загрузить код lamp-util и скомпилировать его в локальном репозитории, затем скомпилировать lamp-cloud или lamp-boot, и наконец скомпилировать lamp-job!
Проект | Gitee | GitHub | Примечание |
---|---|---|---|
Набор инструментов | lamp-util | lamp-util | Бизнес-независимый набор инструментов, необходимый для cloud и boot проектов |
Генератор кода | lamp-generator | lamp-generator | Для использования разработчиками |
Планировщик задач | lamp-job | lamp-job | Ещё не разработан |
Проект | Gitee | GitHub | Примечание |
---|---|---|---|
Микросервисная версия (серверная часть) | lamp-cloud | lamp-cloud | Версия SpringCloud |
Монолитная версия (серверная часть) | lamp-boot | lamp-boot | Версия SpringBoot (функционально аналогична lamp-cloud) |
Проект | Gitee | GitHub | Демо-адрес | Примечание |
---|---|---|---|---|
Система управления средним и задним офисом | lamp-web | lamp-web | http://tangyh.top/lamp-web | (Все функции завершены) На основе vue-admin-element |
Система управления средним и задним офисом (настоятельно рекомендуется! 👏🏻👏🏻👏🏻) | lamp-web-beautiful | lamp-web-beautiful | http://tangyh.top | (В разработке...) На основе vue-vben-admin (vue 3 + vite 2) |
Система управления средним и задним офисом | lamp-web-beautiful | lamp-web-beautiful | - | (В разработке...) На основе vue-admin-beautiful |
Предшественником lamp-generator был zuihou-generator, который после версии 3.0.0 был переименован в lamp-generator. Он является одним из членов команды LAMP.
lamp-generator — это настраиваемый генератор кода, основанный на mybatis-plus-generator, специально разработанный для проектов lamp-cloud и lamp-boot. Хотя пользовательский стандарт кода и читаемость могут быть немного ниже, он всё ещё пригоден для использования. Поскольку главным героем является lamp-cloud, это имеет первостепенное значение.
- В настоящее время поддерживается только генерация таблиц MySQL, Oracle требует тонкой настройки кода, при необходимости можно оставить сообщение для отправки.
- Обратитесь к классу TestGenerator.
- Перед каждым выполнением необходимо настроить параметры, включая каталог кода генерации (абсолютный каталог на локальном компьютере), соединение с базой данных, имя проекта, имя модуля, список таблиц и т. д. В настоящее время предоставляются шаблоны.
- Если таблица имеет префикс, обязательно настройте атрибут tablePrefix.
Например: если имя таблицы — f_file, то необходимо выполнить следующую конфигурацию, и сгенерированный класс автоматически исключит префикс f_.
new CodeGeneratorConfig().setTablePrefix("f_");
- Различия между serviceName, childModuleName и childPackageName:
serviceName: представляет имя службы, например, служба zuihou-file называется file.
childModuleName: указывает на имя модуля, например, в службе zuihou-msgs есть модули zuihou-sms, zuihou-email и т.д., при генерации модулей sms и email необходимо указать sms и email соответственно.
childPackageName: используется для разделения пакетов в рамках службы. Например, проект zuihou-authority имеет пакеты auth, common и core. Поддержка перечисления типов для изменения пути хранения. См. CodeGeneratorConfig.setFiledTypes:
Комментарий шаблона 1: Комментарий содержимого #Перечисление класса {значение перечисления на английском языке: «комментарий значения перечисления на английском»; ...}
Комментарий шаблона 2: Комментарий содержимого #Перечисление класса {Значение перечисления на английском: val, «Комментарий значения перечисления на английском»; ...}
Комментарий шаблона 3: Комментарий содержимого #Перечисление класса {Значение перечисления на английском: val, «Комментарий значения перечисления на английском», val2; ...}
Комментарий шаблона 4: Комментарий содержимого #{Значение перечисления на английском: «Комментарий значения перечисления на английском»; ...},
где класс перечисления может отсутствовать, если он отсутствует, то сгенерированное значение перечисления будет представлять собой имя сущности соответствующей таблицы + имя атрибута текущего поля (с заглавной буквы). Например:
тип файла #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формат: гггг-ММ используется для статистики',
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;
Если вам кажется, что это хоть немного помогло, пожалуйста, поставьте звёздочку в правом верхнем углу, чтобы поддержать проект. Спасибо!
Подробнее о том, как использовать этот проект для генерации кода Пожертвование на Gitee или вознаграждение через QR-код (внизу этой страницы): 45 юаней и более, а также с указанием адреса электронной почты, можно получить копию документа разработки (поддерживается последующее обновление).
После вознаграждения или пожертвования сразу присоединяйтесь к группе: 1039545140 и при указании адреса электронной почты во время вознаграждения вы сможете постоянно получать последние версии документов.
Этот проект делится на открытую версию и версию для членов, открытые версии доступны для поиска на GitHub и Gitee и соответствуют протоколу Apache. Исходный код версии для членов хранится в частном GitLab и становится доступным после покупки учётной записи.
Различия между версией для членов и открытой версией см.: Версия для членов.
Следующие встроенные учётные записи предназначены только для встроенного арендатора 0000:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )