Ich verwende c3p0
als meine JDBC-Datenquelle und frage mich, ob es eine Möglichkeit gibt, alle Verbindungsanmeldeinformationen in eine XML-Konfigurationsdatei zu übertragen, anstatt sie in meine Java-Klasse einzufügen.JDBC-Datenquellenkonfigurationen in einem XML-Format festlegen
Zum Beispiel, was zur Zeit ich habe, ist:
ComboPooledDataSource cpds = new ComboPooledDataSource();
cpds.setDriverClass("org.oracle.Driver"); //loads the jdbc driver
cpds.setJdbcUrl("jdbc:oracle://localhost/testdb");
cpds.setUser("dbuser");
cpds.setPassword("dbpassword");
und ich frage mich, ob ich abstrahieren kann dies alles in eine XML-Konfigurationsdatei aus ähnlich, wie Feder JDBC es tut?
Auch, was die beste Praxis mit mehreren verschiedenen Datenbank handelt, die unterschiedliche Verbindungsinformationen verfügen? Was ich momentan für diese Situationen habe, sind bedingte if-Anweisungen. Wenn Sie sich also in einer QA-Umgebung befinden, sind die Zugangsdaten ..., wenn die DEV-Umgebung die Zugangsdaten sind ... und so weiter. Aber ich denke nicht, dass das eine sehr gute Übung ist. Kann ich die verschiedenen DB-Umgebungen auch in eine XML-Konfigurationsdatei abstrahieren?
Vielen Dank! Das ist sehr hilfreich! Also, wenn ich verschiedene jdbc Treiber zu verbinden habe dann muss ich Xmls für jede von ihnen richtig erstellen? Oder kann ich sie in einer XML-Eigenschaftendatei speichern? – Robben
beide können getan werden, es hängt von Ihren Anforderungen ab. Wenn Sie alles in der gleichen Datei haben möchten, müssen Sie einfach verschiedene Schlüsselnamen verwenden, damit Sie einfach Präfixe wie 'dev' hinzufügen können, dann wäre der Schlüssel' dev.driverClassName'. Aber in Ihrem Fall würde ich empfehlen, einen pro env zu haben –