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

OSCHINA-MIRROR/ptma-CodeGenerator

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

CodeGenerator

Это инструмент, который использует шаблоны Freemarker и Velocity для генерации кода.

Генератор просто извлекает данные структуры таблицы из базы данных и передаёт эту модель шаблонизатору. На основе пользовательских шаблонов генератор создаёт необходимый код.

Конфигурация файла

    <?xml version="1.0" encoding="utf-8" standalone="no"?>
    <configuration>
        <classpath>
            <!-- 引入JDBC驱动,手动添加 -->
            <entry>lib/mysql-connector-java-5.1.36-bin.jar</entry>
        </classpath>
        <!-- 代码生成目标基准目录 -->
        <targetProject>D:\temp</targetProject>
        <!-- 基本包 -->
        <basePackage>org.joy</basePackage>
        <!-- 模块名 -->
        <moduleName>test</moduleName>
        <templates>
            <!-- 模板 ,手动添加 -->
            <template name="实体类" engine="freemarker">
                <!-- 模板文件 -->
                <templateFile>./entity.ftl</templateFile>
                <!-- 文件路径 -->
                <targetPath>${targetProject}\src\${basePackage}\${moduleName}\entity\</targetPath>
                <!-- 文件名 -->
                <targetFileName>${table.className}.java</targetFileName>
                <!-- 文件编码 -->
                <fileEncoding>UTF-8</fileEncoding>
            </template>
        </templates>
    </configuration>

Переменные и методы, доступные в шаблоне

  • String targetProject — целевой путь проекта (базовый путь сохранения кода).
  • String basePackage — базовый пакет.
  • String moduleName — имя модуля.
  • Map<String, Boolean> template — доступность шаблона (отмечен ли он для генерации).

Объект table

Свойство Описание
String tableName Имя таблицы.
String tableType Тип таблицы.
String tableAlias Псевдоним таблицы.
String remarks Комментарий к таблице.
String remarksUnicode Комментарий к таблице в формате Unicode.
String className Имя класса сущности.
String javaProperty Имя свойства сущности при использовании в качестве атрибута.
List primaryKeys Набор первичных ключей.
List baseColumns Набор основных полей.
List columns Все поля (primaryKeys + baseColumns).
List importedKeys Все импортированные ключи.
List exportedKeys Все экспортированные ключи.
boolean hasDateColumn Есть ли поле типа дата.
boolean hasBigDecimalColumn Есть ли поле BigDecimal.
boolean hasNotNullColumn Есть ли непустое поле основного типа.
boolean hasNotBlankColumn Есть ли непустое строковое поле.
boolean hasSearchableColumn Можно ли искать в поле.

Column

Свойство Описание
String columnName Имя поля.
boolean primaryKey Является ли полем первичным ключом.
boolean foreignKey Является ли полем внешним ключом.
int size Длина поля.
int decimalDigits Количество знаков после запятой.
boolean nullable Может ли быть пустым.
boolean autoincrement Автоинкремент.
boolean unique Уникальность.
boolean indexed Наличие индекса.
String defaultValue Значение по умолчанию.
String remarks Комментарий.
String remarksUnicode Число в формате Unicode.
int jdbcType Соответствует java.sql.Types.
String jdbcTypeName Название jdbcType.
String javaProperty Имя атрибута.
String javaType Java-тип, например String, Long, Integer.
String fullJavaType Полный Java-тип, например java.lang.String.
String getterMethodName Метод получения.
String setterMethodName Метод установки.
boolean display Отображение.
boolean searchable Возможность поиска.
boolean orderable Возможность сортировки.
String dict Имя словаря данных.
Метод Описание
boolean isString() Строка.
boolean isFloatNumber() С плавающей точкой, включая Float, Double, BigDecimal.
boolean isIntegerNumber() Целое число, включая Byte, Short, Integer, Long.
boolean isBigDecimal() BigDecimal.
boolean isBoolean() Булево значение.
boolean isDate() Дата, включая Date, Timestamp, Time.
boolean isBLOB() BLOB, CLOB, LONGVARCHAR, LONGVARBINARY или VARBINARY.
boolean isPrimitiveType() Основной тип.
boolean hasDict() Используется словарь данных.

Key

Свойство Описание
String pkTableName PKTABLE_NAME.
String pkColumnName PKCOLUMN_NAME.
String fkTableName FKTABLE_NAME.
String fkColumnName FKCOLUMN_NAME.
Integer seq KEY_SEQ.

Автор

ptma@163.com

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

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

Введение

Генератор кода с возможностью одновременного использования шаблонов FreeMarker и Velocity. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

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

Участники

все

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

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