Guten Morgen Community,
ich habe ein Problem in Zusammenhang mit getrennten API und IMPL Jars. Mein Setup und das spezifische Problem kommt zwar eher aus dem Java EE Bereich, da es aber prinzipiell ums Handling mit Jars bei der Entwicklung geht habe ich mich entschieden es hier zu posten.
Mein Setup:
- MyBatis + MyBatis Generator
- Spring 3
Wenn ich ein Projekt auf unterschiedliche Datenbanken zugreifen lassen möchte (nicht gleichzeitig ... je nachdem wo es eingesetzt wird), habe ich mir überlegt, dass ich ein [c]dbapi.jar[/c] erstelle, welches grundsätzlich nur Interfaces zum Interagieren mit einer beliebigen Datenbank enthält. Dazu erstelle ich mehrere Jars, welches die konkrete Implementierung der [c]dbapi.jar[/c] enthält: z.B. oracleimpl.jar, mysqlimpl.jar, mssqlimpl.jar ... soweit so gut.
Jedes Jar möchte ich in einem separaten Eclipse Projekt verwalten (ggfs. mit Maven verwaltet). Nun möchte ich auch gerne mit dem Mybatis Generator meine Objekte generieren lassen. Hier habe ich aber das Problem, dass sich diese je nach Datenbank unterscheiden können (speziell die Mapper und Provider ... bei den DBObjekten und Examples bin ich mir nicht sicher ... das Datenbankschema sollte bei allen DBs grundsätzlich ja gleich sein - was auch immer das im Detail bedeutet (Datentypen)). Ich benötige aber die DBObjekte in der api und in der impl ... zB. [c]public void saveOrder(Order o);[/c] .... von jedem DBObjekt habe ich aber pro Datenbank eine generierte Version.
Wie gehe ich nun damit um? Muss ich mein Konzept ganz verwerfen und anders vor gehen? Oder sehe ich ein Problem, welches eigentlich gar keins ist? Bislang hatte ich nie die Anforderung mehrer DBs zu unterstützen.
ich habe ein Problem in Zusammenhang mit getrennten API und IMPL Jars. Mein Setup und das spezifische Problem kommt zwar eher aus dem Java EE Bereich, da es aber prinzipiell ums Handling mit Jars bei der Entwicklung geht habe ich mich entschieden es hier zu posten.
Mein Setup:
- MyBatis + MyBatis Generator
- Spring 3
Wenn ich ein Projekt auf unterschiedliche Datenbanken zugreifen lassen möchte (nicht gleichzeitig ... je nachdem wo es eingesetzt wird), habe ich mir überlegt, dass ich ein [c]dbapi.jar[/c] erstelle, welches grundsätzlich nur Interfaces zum Interagieren mit einer beliebigen Datenbank enthält. Dazu erstelle ich mehrere Jars, welches die konkrete Implementierung der [c]dbapi.jar[/c] enthält: z.B. oracleimpl.jar, mysqlimpl.jar, mssqlimpl.jar ... soweit so gut.
Jedes Jar möchte ich in einem separaten Eclipse Projekt verwalten (ggfs. mit Maven verwaltet). Nun möchte ich auch gerne mit dem Mybatis Generator meine Objekte generieren lassen. Hier habe ich aber das Problem, dass sich diese je nach Datenbank unterscheiden können (speziell die Mapper und Provider ... bei den DBObjekten und Examples bin ich mir nicht sicher ... das Datenbankschema sollte bei allen DBs grundsätzlich ja gleich sein - was auch immer das im Detail bedeutet (Datentypen)). Ich benötige aber die DBObjekte in der api und in der impl ... zB. [c]public void saveOrder(Order o);[/c] .... von jedem DBObjekt habe ich aber pro Datenbank eine generierte Version.
Wie gehe ich nun damit um? Muss ich mein Konzept ganz verwerfen und anders vor gehen? Oder sehe ich ein Problem, welches eigentlich gar keins ist? Bislang hatte ich nie die Anforderung mehrer DBs zu unterstützen.
Zuletzt bearbeitet: