MySQL Tabellen über JDBC erstellen - Best Way?

Julius

Mitglied
Hi,

ich würde gerne MySQL Tabellen mit Hilfe von Java (JDBC) erstellen und habe dafür auch schon eine Methode geschrieben.
Leider muss ich ziemlich viele Tabellen erstellen und ich weiß nicht so ganz, wie ich das am besten verpacke, sodass der Programmierstil angemessen ist.

Für jede Tabelle eine eigene Methode zu schreiben halte ich nicht für sinnvoll.
Ich dachte daran, die Statements, die die Tabellenstruktur enthalten in einem Array abzulegen und sie dann per Schleife nacheinander abzuarbeiten.
Allerdings würde das Array dann ziemlich lang werden.

Kann man es auch noch anders machen?
 
Hi,
ich würde eine Methode (z.B.: createTable(String name, String[] settings)) erstellen, an die ich einen Namen für den Tabellennamen übergebe. Zudem würde ich über ein String-Array die Settings übergeben, d.h.: new String[] {
"test", // Spaltenname
"INT", // Datentyp
"test2", // Spaltenname
"FLOAT", // Datentyp
...
}.

Gruß

Fabio
 
Ja, aber das lässt sich schlecht verhindern. Außer deine Tabellen haben alle die gleiche Struktur und heißen nur unterschiedlich. Wobei ich das bezweifle.
 
Ok, danke, dann war ich ja doch schon auf dem richtigen Weg.
(Also die ganzen Statements hatte ich schon. Wollte es halt irgendwie "schöner" verpacken.)
 
@genodeftest
Habe es mir angeschaut.
Aber bei der Erstellung der Tabellen ist damit noch nicht wirklich ein Unterschied zu merken, oder?


Ist das eigentlich komplett falsch im Hinblick auf den Programmierstil, wenn ich eine Methode CreateTable() habe, dort die einzelnen Strings drinstehen und sehr oft hintereinander der statementExecute Befehl ausgeführt wird, anstatt die Strings auszulagern und an eine Funktion zu übergeben?
 
Hallo,

Kann man es auch noch anders machen?
Natürlich :)

Hast du die entsprechenden SQL Create Table Skripte schon vorliegen, oder
möchtest du die generieren?

Möchtest du in deiner Anwendung eine "DB-SETUP" Routine hinterlegen, welche die Datenbank auf die
erstmalige Verwendung deiner Anwendung vorbereitet?

Eine einfache Möglichkeit wäre deine Create Table SQL Statements
in einer "Create-Table.sql" Skript-Datei zu sammeln (Auf Abhängigkeiten achten...).
Anschließend kannst du in deiner Anwendung den Inhalt der Datei laden und über JDBC
als ein Statement ausführen.

Ich würde deine SQL Statements nicht fest Java Code verdrahten. Das erschwert nur das editieren und
schadet der Übersichtlichkeit.

Wenn du die Tabellenstrukturen programmatisch aufbauen möchtest könntest du dir auch eine kleine
TableCreator Klasse auf Basis des Builder Patterns schreiben (http://en.wikipedia.org/wiki/Builder_pattern).

Es gibt auch Bibliotheken, die dir aus XML Definitionen oder speziell annotierten Java Klassen relationale Datenbank Schemata (Tabellenstrukturen) generieren können.
http://docs.jboss.org/hibernate/core/4.0/devguide/en-US/html/ch01.html#d0e652

Gruß Tom
 
Zurück