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

OSCHINA-MIRROR/zyweistart-magic

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 6.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 20:34 8c2ecf7

Магия

Проект

На основе spring-context упрощается использование сторонних библиотек, включая: базовые инструменты разработки, сохранение данных, проверку данных и преобразование данных.

  1. start.framework (базовые инструменты разработки).
  2. start.magic.core.valid (проверка данных).
  3. start.magic.core.converter (преобразование данных).
  4. start.magic.persistence (фреймворк сохранения данных).
  5. start.magic.spring (расширение Spring).
  6. start.magic.thirparty (codec, json) (сторонние расширения).

Проверка данных

  1. @NotNull: не может быть null.
  2. @NotEmpty: не может быть пустой строкой «».
  3. @ShortValid: проверка диапазона значений для типа short.
  4. @IntegerValid: проверка диапазона значений для int.
  5. @LongValid: проверка диапазона значений для long.
  6. @FloatValid: проверка диапазона значений для float.
  7. @DoubleValid: проверка диапазона значений для double.
  8. @BooleanValid: проверка значения boolean.
  9. @Length: проверка длины строки.
  10. @Format: проверка формата.
  11. @Equals: проверка соответствия переданных данных ожидаемому значению.
  12. @NotEquals: проверка несоответствия переданных данных ожидаемому значению.
  13. @Enum: проверка на соответствие перечислению.
  14. @Regex: проверка с использованием регулярного выражения.
  15. @TimeFormat: проверка даты и времени в формате 'yyyyMMddHHmmss'.
  16. @Custom: пользовательская проверка через реализацию интерфейса ValidCheckCustom.

Если проверка завершается неудачно, выбрасывается исключение ValidException с сообщением, установленным в методе ValidContext.verifyField().

Преобразование данных

  1. Переопределённый преобразователь наследуется от AbstractConverterEditor, где T — тип данных после преобразования.
  2. Метод restore считывает внешние данные и преобразует их к типу поля, сохраняя результат через setValue.
  3. Метод converter возвращает данные поля в виде getValue, преобразованные к нужному типу T, которые могут быть использованы в дальнейшем при вызове restore.
  4. Для полей обычно есть стандартные преобразователи, но можно переопределить их, используя аннотацию @PropertyConverter.
  5. Преобразователи могут быть применены к полям объектов POJO, таких как AO, VO, DTO, DO и другие.

Сущности для сохранения данных

  1. Сущности могут наследоваться от классов com.framework.entity.Base, BaseV1Ext или BaseV2Ext.
  2. Аннотация @Entity применяется к классу, который должен быть сущностью, и требует одновременного использования @Table.
  3. Аннотация @Table определяет имя таблицы для сущности, требуя одновременного применения @Entity.
  4. Аннотация @MappedSuperclass используется для базовых классов сущностей.
  5. Аннотация @Id определяет первичный ключ.
  6. Аннотация @Column определяет имя поля таблицы.
  7. Аннотация @Transient игнорирует поле при операциях.

JDBC

  1. В теге sql.xml содержатся настройки для SQL-запросов. Тег sql содержит выполняемый SQL-запрос с идентификатором sqlId. Тег if используется для проверки условий, а тег for — для итерации по списку. Тег include позволяет включать другие SQL-скрипты.

  2. QueryWrapper, UpdateWrapper и DeleteWrapper автоматически генерируют соответствующие SQL-запросы. Service и Dao должны наследовать интерфейсы из пакета com.framework для реализации.

  3. Автоматическое создание SQL для таблиц:

    • аннотация @TableDef применяется к сущности для определения информации о таблице, такой как тип, набор символов, комментарии и объединённые индексы;
    • аннотация @ColumnDef применяется к полю сущности для определения имени поля, индексов, длины и комментариев;
    • интерфейс ScriptConverter позволяет настроить тип и длину поля для таблицы, а класс, реализующий этот интерфейс, должен реализовывать BaseColumnFieldScriptDef;
    • метод ScriptDelegate.buildTableScript выводит DDL-скрипт для текущей сущности;
    • метод ScriptDelegate.tableAnalysis выводит рекомендации по изменению текущей сущности и таблицы;
    • настройка start.framework.print.sqltablescript = true позволяет использовать метод ScriptDelegate.tableAnalysis без дополнительных действий.

Maven

mvn clean install -Dmaven.test.skip=true

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/zyweistart-magic.git
git@api.gitlife.ru:oschina-mirror/zyweistart-magic.git
oschina-mirror
zyweistart-magic
zyweistart-magic
master