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»
Спасибо всем!