1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zuihou111-lamp-generator

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

LAMP: быстрая платформа для разработки

AUR GitHub stars star GitHub forks fork

История названия проекта LAMP

Рассказ:

Однажды вечером, когда было темно и ветрено, ребёнок начал просить разрешения выйти поиграть. В итоге, вместе с женой программиста, они решили вывести ребёнка на прогулку, чтобы развеяться. По пути они обсуждали, какое название дать проекту. После того как все предложенные варианты были отвергнуты, они погрузились в размышления.

Прогуливаясь, они остановились у фонаря, где ребёнок, глядя на свет, воскликнул: «Фонарик!». Они оба были поражены этим словом и сказали друг другу: «Это отличное название!».

Объяснение:

«Фонарик» (или «лампа») — это первое слово, которое произнёс ребёнок, когда учился говорить. Это название стало символом надежды и света в трудные времена, а также ориентиром для программистов, работающих допоздна.

LAMP — это общее название проекта, который включает в себя несколько подпроектов.

Состав проекта LAMP

Обратите внимание: сначала необходимо загрузить код lamp-util и скомпилировать его в локальном репозитории, затем скомпилировать lamp-cloud или lamp-boot, и наконец скомпилировать lamp-job!

Набор инструментов (lamp-util обязателен, остальные два опциональны)

Проект 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

Предшественником 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:
  • поддержка различных модулей, таких как controller, service, dao и xml, с настраиваемой стратегией генерации: перекрытие, добавление, игнорирование. Пример: FileCreateConfig config = new FileCreateConfig(GenerateType.OVERRIDE);

Принципы проектирования базы данных

  1. Необходимо явно указать первичный ключ.
  2. Любая таблица должна содержать как минимум три поля: bigint id, datetime createTime, bigint createUpdate (можно изменить EntityType самостоятельно).
  3. Таблицы и поля должны быть снабжены комментариями.
  4. Комментарий таблицы может занимать несколько строк, первая строка будет считаться именем таблицы. Для описания таблицы следует использовать перенос строки.
  5. Описание поля занимает первую строку, подробное описание и перечисление типов — следующие строки.
  6. Все поля должны иметь разумные значения по умолчанию, чтобы избежать появления NULL в таблице.
  7. Если поле является внешним ключом, его имя должно быть: связанная_таблица_id. Комментарии должны основываться на комментариях к полю и включать дополнительную информацию о связанной таблице после знака #.
  8. Если поле представляет собой перечисление, оно должно соответствовать шаблону:
Комментарий шаблона 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 и становится доступным после покупки учётной записи.

Различия между версией для членов и открытой версией см.: Версия для членов.

Адреса демонстрационных проектов версии для членов Lamp

Следующие встроенные учётные записи предназначены только для встроенного арендатора 0000:

  • Платформа администратора: lamp_pt/lamp (предоставляется для использования внутренним операционным персоналом компании);
  • Супер администратор: lamp/lamp;
  • Обычный администратор: general/lamp;
  • Обычная учётная запись: normal/lamp.

Ссылки на дружбу и особая благодарность

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Данный проект основан на версии 3.x lamp-cloud, для версии 4.x этот проект не требуется. Развернуть Свернуть
Отмена

Обновления (2)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/zuihou111-lamp-generator.git
git@api.gitlife.ru:oschina-mirror/zuihou111-lamp-generator.git
oschina-mirror
zuihou111-lamp-generator
zuihou111-lamp-generator
master