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

OSCHINA-MIRROR/yadong.zhang-HouTu

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

HouTu

HouTu — это простой в использовании, но мощный инструмент для генерации кода на основе MySQL. Название HouTu происходит от китайского имени богини земли Хоу Ту, которая в китайской мифологии является матерью всех вещей.

С помощью HouTu можно создавать структурированный код любой сложности, такой как DO, Mapper, XML, Service, Controller, SQL, Html и т. д. Для этого нужно написать собственный шаблон на Freemarker, а HouTu сгенерирует готовый код.

Особенности

  1. Простой принцип работы: HouTu использует собственные запросы MySQL для получения информации о базе данных, таблицах и столбцах, а затем объединяет её с шаблонами Freemarker для создания Java-кода.
  2. Настраиваемые шаблоны: HouTu интегрирован с Freemarker и может автоматически генерировать Java-код из любых шаблонов, соответствующих стандартам Freemarker.
  3. Широкий функционал: поддерживает генерацию кода для одной или нескольких таблиц и теоретически может создавать код любой структуры.

Быстрый старт

Шаблоны доступны в папке doc/template.

Объявление класса входа

Generator g = new Generator(Config.getInstance()
        .setDriver("com.mysql.cj.jdbc.Driver")
        .setUrl("jdbc:mysql://127.0.0.1:3306/houtu?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false&allowPublicKeyRetrieval=true&useLegacyDatetimeCode=false")
        .setUsername("root")
        .setPassword("root")
        .setPrimaryKeyType("Integer")
        .setClassPrefix("HouTu")
        .setClearClassPrefix("Houtu")
        .setOutRootDir(System.getProperty("user.dir") + File.separator + "generator-output"));

Класс Generator имеет только один конструктор, который принимает экземпляр системного конфигурационного класса Config.

Использование API

Класс Generator предоставляет четыре интерфейса:

  • Generator#deleteOutRootDir(): удаляет файлы в выходном каталоге, обычно вызывается перед генерацией для очистки старых выходных файлов.
  • Generator#printAllTableInfo(): выводит информацию обо всех таблицах.
  • Generator#generateAll(): генерирует Java-файлы для всех таблиц.
  • Generator#generate(String[]): генерирует файлы для указанных таблиц, передавая их имена в виде массива. Если массив пуст, вызывается метод Generator#generateAll().

Пример использования

// Удаляем выходной каталог генератора
g.deleteOutRootDir();
// Выводим информацию обо всех таблицах
g.printAllTableInfo();
// Генерируем файл для отдельной таблицы
g.generate("sys_user");

Вывод

00:53:57.945 [main] INFO me.zhyd.houtu.Generator - [delete dir]    D:\project\java\Houtu\generator-output
00:53:57.955 [main] INFO me.zhyd.houtu.Generator - ----All Table Names Begin----
00:53:57.990 [main] INFO me.zhyd.houtu.Generator -   InnoDB - "sys_resources" - utf8_general_ci
00:53:57.992 [main] INFO me.zhyd.houtu.Generator -   InnoDB - "sys_role" - utf8_general_ci
00:53:57.992 [main] INFO me.zhyd.houtu.Generator -   InnoDB - "sys_role_resources" - utf8_general_ci
00:53:57.992 [main] INFO me.zhyd.houtu.Generator -   InnoDB - "sys_user" - utf8_general_ci
00:53:57.992 [main] INFO me.zhyd.houtu.Generator -   InnoDB - "sys_user_role" - utf8_general_ci
00:53:57.992 [main] INFO me.zhyd.houtu.Generator - ----All Table Names END----
00:53:57.992 [main] INFO me.zhyd.houtu.Generator - ---------------------------------------------------------------
00:53:57.992 [main] INFO me.zhyd.houtu.Generator - - BEGIN generate by sys_user
00:53:57.992 [main] INFO me.zhyd.houtu.Generator - ---------------------------------------------------------------
00:53:58.077 [main] INFO me.zhyd.houtu.Generator - ---------------------------------------------------------------
00:53:58.078 [main] INFO me.zhyd.houtu.Generator - - BEGIN generate by sys_user
00:53:58.078 [main] INFO me.zhyd.houtu.Generator - ---------------------------------------------------------------
00:53:58.471 [main] INFO me.zhyd.houtu.Generator - D:\project\java\Houtu\generator-output\biz\dto\HouTuSysUserDto.java
00:53:58.476 [main] INFO
``` | WeChat |
| :------------: | :------------:|
|  <img src="https://gitee.com/yadong.zhang/static/raw/master/qrcode/zfb_code.png" width="200"/> | <img src="https://gitee.com/yadong.zhang/static/raw/master/qrcode/wx_code.png" width="200" /> |

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

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

Введение

Описание недоступно Развернуть Свернуть
MulanPSL-1.0
Отмена

Обновления

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

Участники

все

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

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