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

OSCHINA-MIRROR/ztp-auto-code

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

Перевод текста на русский язык:

Добро пожаловать в использование генератора кода auto-code. Версия 2.1.0 была обновлена ещё раз. Теперь для генерации кода не нужно писать yaml-файлы. Можно напрямую создавать код через веб-страницу: однотабличный, один к одному, один ко многим и многие ко многим.

Адрес исходного кода. Демонстрация генерации кода.

Содержание

  1. Введение в проект
    1. В чём преимущество проекта?
    2. Когда стоит выбрать этот проект?
    3. Почему был запущен этот проект?
  2. Руководство по интеграции
    1. Использование руководства
      1. Подготовка
      2. Генерация однотабличного кода
      3. Генерация кода «один к одному» (one-to-one)
      4. Генерация кода «один ко многим» (one-to-Many)
      5. Генерация кода «многие ко многим» (many-to-many)
    2. Замечания по генерации кода
  3. Описание параметров конфигурации

Журнал обновлений

Пожалуйста, обратитесь к файлу update.md для получения информации об обновлениях.

Введение в проект

В чём преимущество проекта?

  1. На рынке большинство инструментов для генерации кода имеют высокую степень привязки к проектам, а хорошие инструменты обычно являются закрытыми исходными кодами. Для использования их инструментов необходимо использовать их собственные проекты. Их доступность ограничена. Этот проект предназначен для встраиваемых проектов. Вам нужно только просто импортировать jar-пакет (jar-файл уже загружен в центральный репозиторий, нет необходимости компилировать его самостоятельно), чтобы сгенерировать код в вашем собственном проекте. Визуальный интерфейс очень удобен для работы, независимо от того, разрабатываете ли вы его впервые или повторно. Этот проект просто помогает вам генерировать код для создания и изменения однотабличных и многотабличных данных, не внося никаких изменений в базовый уровень.
  1. Большинство инструментов генерации кода поддерживают только генерацию однотабличных данных. Этот проект поддерживает генерацию кода для однотабличных, один к одному, один ко многим и многих ко многим данных. Это значительно упрощает процесс разработки.

Когда стоит выбирать этот проект?

  1. Этот проект генерирует только интерфейсы (контроллеры, сервисы, реализации сервисов, DAO и XML), но не страницы. Поэтому, если ваш проект использует разделение между передним и задним планами, вам не нужно создавать страницы. Этот проект подойдёт вам.
  1. Если вы всё ещё хотите создать страницу, пожалуйста, посмотрите на этот проект. Он основан на этом проекте и расширяет генерацию страниц. Подходит для использования на заднем плане. [Адрес исходного кода] (https://gitee.com/ztp/auto-code-admin). [Демо-адрес] (http://106.13.101.206:8010/login/gotoLogin). Имя пользователя: ztp. Пароль: 111111.

Почему был запущен проект?

В большинстве случаев мы занимаемся созданием, изменением и удалением данных. Каждый раз, когда создаётся новая таблица, нам приходится заново писать код для создания, изменения и удаления данных. Хотя написание кода простое, оно занимает много времени (контроллер, сервер, реализация сервера, DAO, XML). Поэтому появился этот проект, который может помочь вам сократить 70% рабочей нагрузки и позволить вам сосредоточиться на реализации бизнес-логики.

start

Руководство по интеграции

Это очень просто. Всего несколько шагов позволят завершить интеграцию.

  1. Пожалуйста, обратитесь сюда для интеграции традиционного Java-web.
  1. Пожалуйста, обратитесь сюда для интеграции Spring-boot.

Использование руководства

Подготовка

  1. Интеграция очень проста. Пожалуйста, выберите подходящий способ. Здесь есть примеры проектов для справки.
  1. После успешной интеграции посетите http://localhost:8070/auto-code-ui/ui/index.html.

Интерфейс выглядит следующим образом:

global

Генерация однотабличного кода

Предположим, что мы хотим сгенерировать однотабличные данные:

CREATE TABLE `test_simple_code` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(50) DEFAULT NULL COMMENT '名称',
  `age` int(3) DEFAULT NULL COMMENT '年龄',
  `status` int(2) DEFAULT NULL COMMENT '{"name":"状态","1":"启用","0":"禁用"}',
  `birthday` date DEFAULT NULL COMMENT '生日',
  `remarks` text COMMENT '备注',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='单表代码生成';
  1. Создайте таблицу в базе данных.
  1. Выберите «Генерация однотабличных данных» на странице. Выберите соответствующую таблицу и нажмите «Предварительный просмотр генерации». Наконец, нажмите «Подтвердить генерацию». Готово.

Сгенерированный файл выглядит следующим образом: select

  1. Завершите генерацию.

Генерация кода «один к одному» (код добавляется без перезаписи)

Один пользователь соответствует одному классу.

CREATE TABLE `test_one_to_one_user` (
  `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `name` VARCHAR(50) DEFAULT NULL COMMENT '名称',
  `age` INT(3) DEFAULT NULL COMMENT '年龄',
  `status` INT(2) DEFAULT NULL COMMENT '{"name":"状态","1":"启用","0":"禁用"}',
  `birthday` DATE DEFAULT NULL COMMENT '生日',
  `remarks` TEXT COMMENT '备注',
  `mun` DECIMAL(20,2) DEFAULT NULL COMMENT '数字',
  `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=44 DEFAULT CHARSET=utf8 COMMENT='一对一用户';

CREATE TABLE `test_one_to_one_class` (
  `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '班级id',
  `user_id` INT(11) DEFAULT NULL COMMENT '用户id',
  `class_name` VARCHAR(50) DEFAULT NULL COMMENT '班级名称',
  `quantity` INT(11) DEFAULT NULL COMMENT '班级人数',
  `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COMMENT='一对一班级';
  1. Откройте страницу. Выберите соответствующие таблицы. Однотабличные данные имеют дополнительный внешний ключ id. Например, две таблицы выше связаны через user_id: test_one_to_one_user.id = test_one_to_one_class.user_id. Один-ко-многим: генерация кода (добавочный способ. Не нужно беспокоиться о перекрытии кода)

Аналогично «один-к-одному», здесь не приводится дополнительных описаний.

Многие-ко-многим: генерация кода (добавочный способ. Не нужно беспокоиться о перекрытии кода)

Множественные пользователи соответствуют множественным ролям.

CREATE TABLE `test_many_to_many_role` (
  `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'роль',
  `name` VARCHAR(100) NOT NULL COMMENT 'название роли',
  `status` INT(2) DEFAULT '0' COMMENT '{"name":"состояние","0":"включить","1":"отключить"}',
  `create_user_id` INT(11) DEFAULT NULL COMMENT 'создатель',
  `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT 'время создания',
  `update_user_id` INT(11) DEFAULT NULL COMMENT 'редактор',
  `update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT 'время редактирования',
  `dels` INT(2) DEFAULT '0' COMMENT '{"name":"удалить","0":"нормально","1":"удалено"}',
  PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COMMENT='много-ко-много ролей';

CREATE TABLE `test_many_to_many_user` (
  `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'идентификатор',
  `name` VARCHAR(50) DEFAULT NULL COMMENT 'имя',
  `age` INT(3) DEFAULT NULL COMMENT 'возраст',
  `status` INT(2) DEFAULT NULL COMMENT '{"name":"статус","1":"включить","0":"отключить"}',
  `birthday` DATE DEFAULT NULL COMMENT 'дата рождения',
  `remarks` TEXT COMMENT 'примечания',
  `mun` DECIMAL(20,2) DEFAULT NULL COMMENT 'число',
  `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT 'время создания',
  `update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT 'время обновления',
  PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=43 DEFAULT CHARSET=utf8 COMMENT='много-ко-многим пользователям';

CREATE TABLE `test_many_to_many_user_role` (
  `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'тестовый пользователь роли',
  `user_id` INT(11) DEFAULT NULL COMMENT 'пользовательский идентификатор',
  `role_id` INT(11) DEFAULT NULL COMMENT 'ролевой идентификатор',
  `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT 'время создания',
  PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=140 DEFAULT CHARSET=utf8 COMMENT='много-ко-многим пользовательским ролям';

Откройте интерфейс. Выберите соответствующую таблицу. Для «многие-ко-многим» добавляется таблица описания отношений.
Например, три таблицы выше связаны через test_many_to_many_user_role:

test_many_to_many_user_role.user_id = test_many_to_many_user.id и test_many_to_man_user_role.role_id = test_many_to_many_role.id.

many-to-many many-to-many many-to-many

Генерация кода: примечания

  1. При создании структуры таблицы добавление комментариев к таблице и полям значительно улучшает читаемость программы. Я буду добавлять комментарии к bean-компонентам.
  2. Если комментарий представляет собой пару ключ-значение в формате JSON, я создам метод словаря в классе сущности. Например:
    {"1": "включить", "0": "отключить"}

будет преобразовано в: public String getStatus_() { if (MyStringUtils.isEmpty(status)) { return ""; } else if (status.equals("1")) { return "включить"; } else if (status.equals("0")) { return "отключить"; } return ""; }

Описание параметров конфигурации

Параметр Значение по умолчанию Описание
parentPack Нет Пакет, в котором будет генерироваться код. Например, если родительский пакет — com.zengtengpeng.test, контроллер будет находиться в com.zengtengpeng.test.controller, а bean, service и dao будут следовать той же схеме.
parentPath Нет Путь проекта, где будет генерироваться код.
cover false Определяет, будет ли код перезаписан при генерации. По умолчанию код не перезаписывается.
swagger true Указывает, будет ли сгенерирован Swagger (для Spring Boot). Если значение равно false, то страница Swagger не будет доступна.
javaSource src/main/java Расположение исходного кода Java в проекте.
resources src/main/resources Местоположение ресурсов в проекте.
xmlPath mybatisMapper Путь к файлам XML для MyBatis.
packageBean bean Суффикс для пакетов, содержащих сгенерированные bean-компоненты.
packageDao dao Суффикс для пакетов, содержащих сгенерированные DAO.
packageController controller Суффикс для пакетов, содержащих сгенерированные контроллеры.
packageService service Суффикс для пакетов, содержащих сгенерированные сервисы.
autoCode true Включает или отключает генератор кода. Рекомендуется отключать в среде разработки.
watchMobel false Режим наблюдателя. Только просмотр, без генерации кода (используется в демонстрационной среде).

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

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

Введение

Генератор кода на Java, который автоматически генерирует код через веб-страницу для создания однотабличной, один-к-одному, один-ко-многим и многие-ко-многим связи. Поддерживает бесконечную вложенность и интеграцию со всеми реляционными базами данных. Поддерживает интеграцию с Spring Boot. Развернуть Свернуть
LGPL-3.0
Отмена

Обновления

Пока нет обновлений

Участники

все

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

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