Mybatis Generator: Jaki jest najlepszy sposób na oddzielenie „generowanych automatycznie” i „ręcznie edytowanych plików”
Jestem w projekcie, który używa obuMybatis (dla utrzymywania Java w bazie danych) iMybatis Generator (aby automatycznie wygenerować pliki xml mappera i interfejsy java ze schematu bazy danych).
Generator Mybatis dobrze wykonuje generowanie plików niezbędnych do podstawowej operacji crud.
Kontekst
W przypadku niektórych tabel / klas będziemy potrzebować więcej „rzeczy” (kwerend kodu, itp.) Niż „crud stuff” generowanych przez narzędzie MyBatis Generator.
Czy jest jakiś sposób na posiadanie „najlepszego z obu światów”, to znaczy zarówno automatycznego generowania, jak i „kodu niestandardowego”. Jak oddzielić i uporządkować „pliki edytowane ręcznie” i „pliki generowane automatycznie”.
Wniosek
Myślałem o następujących kwestiach, tj. O tabeli „Foo”
Automatyczne generowanie
FooCrudMapper.xmlinterfejs FooCrud.java(gdzie „Crud” oznacza „Utwórz odczyt aktualizacji Usuń”)
Ręcznie edytowane
FooMapper.xmlinterfejs Foo rozszerza FooCrudPojęcie: jeśli zmienił się schemat, zawsze można bezpiecznie wygenerować pliki xml i .java „Crud” bez wymazywania jakichkolwiek zmian niestandardowych.
pytania
Czy mybatis poprawnie obsłuży ten scenariusz, tzn. Czy ten program odwzorowujący poprawnie wykona automatycznie wygenerowany „kod crud”?
FooMapper fooMapper = sqlSession.getMapper (FooMapper.class);
Jakie podejście polecasz?
Edytuj 1: * Nasz projekt bazy danych używa „tabeli podstawowej” („element”) z innymi tabelami „rozszerzającymi” tę tabelę i dodającymi dodatkowe atrybuty (klucz wspólny). Sprawdziłem dokumenty i źródło doszedłem do wniosku, że nie mogę używać Mybatis Generatora w połączeniu z takim „rozszerzeniem” bez ręcznej edycji:
tj. to nie działa. -ElementMapper rozszerza „ElementCrudMapper” -FooMapper.xml rozszerza zarówno „ElementCrudMapper”, jak i „FooCrudMapper”
Dziękuje wszystkim!