Mybatis Generator: Какой лучший способ отделить «автоматически сгенерированные» и «отредактированные вручную файлы»

Я нахожусь на проекте, который использует обаMybatis (для сохранения Java в базе данных) иMybatis Generator (для автоматического генерирования картографических XML-файлов и Java-интерфейсов из схемы базы данных).

Генератор Mybatis отлично справляется с генерацией файлов, необходимых для базовой операции crud.

контекст

Для некоторых таблиц / классов нам понадобится больше «вещей» (запросов кода и т. Д.), Чем «грубых вещей», сгенерированных инструментом MyBatis Generator.

Есть ли способ получить «лучшее из обоих миров», то есть использовать автоматическую генерацию, а также «пользовательский код». Как вы выделяете и структурируете «отредактированные вручную файлы» и «автоматически созданные файлы».

Предложение

Я думал о следующем, то есть для таблицы "Foo"

Автогенерируемая

FooCrudMapper.xmlинтерфейс FooCrud.java

(где «Crud» означает «Создать, Читать, Удалить, Удалить»)

Рука отредактирована

FooMapper.xmlИнтерфейс Foo расширяет FooCrud

Идея: если схема изменилась, вы всегда можете безопасно сгенерировать xd и .java-файлы "Crud", не стирая никаких пользовательских изменений.

Вопросов

Будет ли mybatis правильно обрабатывать этот сценарий, т. Е. Будет ли этот преобразователь правильно выполнять автоматически сгенерированный «неочищенный код»?

FooMapper fooMapper = sqlSession.getMapper (FooMapper.class);

Какой подход вы рекомендуете?

Правка 1: * В нашей структуре БД используется «базовая таблица» («элемент»), а другие таблицы «расширяют» эту таблицу и добавляют дополнительные атрибуты (общий ключ). Я посмотрел документы и источник пришел к выводу, что я не могу использовать Mybatis Generator в сочетании с таким «расширением» без какого-либо ручного редактирования:

то есть это не работает. -ElementMapper расширяет «ElementCrudMapper» -FooMapper.xml расширяет как «ElementCrudMapper», так и «FooCrudMapper»

Спасибо всем!

Ответы на вопрос(4)

Ваш ответ на вопрос