Configuration XML für Datenbankverbindung

=fire=

Erfahrenes Mitglied
Hallo,

wie erstelle ich in JAVA am besten ein XML File mit den Daten zur Datenbankverbindung bzw. wie lese ich das am besten aus?

Gibt es da Beispiele?

Gruß fire
 
Hallo,

mir hat jemand was von einer Config XML erzählt, gibt es sowas? Bei den Servlets gibt es z.B. die web.xml, aber gibt es sowas auch bei einem JAVA Client?

Ich erzeuge ja eine .jar und ich bräuchte dann ja eine externe xml. Aktuell habe ich die Datenbanverbindung in der mysql.java stehen, das möchte ich aber ändern, so dass es in einer xml steht. Ich möchte aber keine extra Klasse zum xml parsen erstellen, geht das nicht einfacher?
 
Ich möchte aber keine extra Klasse zum xml parsen erstellen, geht das nicht einfacher?

Du könntest auch normal über File-I/O gehen, sprich normale Bearbeitung von Textdateien (Dann brauchst du aber auch kein xml, das würde sonst alle komplizierter machen!). Ich persönlich empfehle das nicht, da du a) kein Validating und b) größeren Änderungsaufwand hast. Zudem ist xml in der Anwendung als Konfigurationsdatei recht zukunftssicher.
 
Vielleicht denkst du mal über Spring nach?!

Tutorials gibt es jede Menge, z.B. dieses hier.

Wahrscheinlich ist das für dich erst einmal etwas Einarbeitungsaufwand und möglicherweise ist das ganze zunächst etwas überdimensioniert, aber letztlich stellt das eine solide Grundlage dar...

mfg,

RoCMe
 
Hallo,

ich habe das nun getestet klappt einwandfrei, nur das Problem ist das die XML Datei doch immer im Source-Ordner liegen muss? Wenn ich dann eine .jar erstellt habe, wie kann ich dann die Daten in der XML noch anpassen ohne neuen Export als XML?
 
Da gibt es keinen goldenen Weg.

Hier ein paar Möglichkeiten, wie ich es machen würde:
Im tomcat setzten wir die Konfigurationsdatei, die wir zur Laufzeit ändern wollen, in ein externes classpath Verzeichnis. Beim tomcat ist das, das lib-Verzeichnis.

Bei einer normalen Java-Anwendung würde ich es in den Pfad des Programms legen und dort mittels relativen Pfad aus Sicht der Anwendung aus die Datei suchen. D.h. z.B. new File("config.xml"). Oder mittels der System-Property "user.dir", welches auch das working-directory wiederspiegelt. http://download.oracle.com/javase/tutorial/essential/environment/sysprop.html
 
Mal so die Zwischenfrage : was genau meinst du mit Client ? Eine App die auf einem Client-PC läuft und übers Netz eine Verbindung zum DB-Server herstellt ? Wenn ja : großes Sicherheitsrisiko diese Daten auf dem Client-PC zuspeichern. Oder wo genau wird von wem auf was zugegriffen ?
 
Ähäm ... zwei Dinge
1) nicht an die Konventionen gehalten (glaube mir ... es erleichtert dir vieles)
2) Fragen über Source der nicht gepostet wurde

Zum Post selbst
Ich würde davon ausgehen das das Config-File nicht mit in das JAR exportiert wird und somit natürlich auch nicht über ClassLoader.getResourceAsStream() nicht findbar ist. Aber da müssen dir mal unsere Eclipse-Profis helfen.
 
Zurück