私はJDBCデータソースとしてc3p0
を使用しています。すべての接続資格情報をJavaクラスに置くのではなくXML設定ファイルに抽象化する方法があるのでしょうか?例えばJDBCデータソース設定をXMLに設定する
、私が現在持っていることは次のとおりです。
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");
と私は春JDBCはそれをしないのと同じようにXML設定ファイルのうち、すべてこの抽象することができます場合、私は疑問に思って?
また、異なる接続資格情報を持つ複数の異なるデータベースを扱うベストプラクティスは何ですか?私が現在それらの状況のために持っているのは条件付きのif文なので、もしあなたがQA環境にいるのであれば、資格証明は... DEV環境なら資格証明...などです。しかし、私はそれがとても良い習慣だとは思わない。また、さまざまなDB環境をXML構成ファイルに抽象化することはできますか? 資格情報XML設定ファイルに抽象すべての接続への道は私の Javaクラスに置くのではなく、存在する場合
ありがとうございました!これは非常に役に立ちます!だから私は接続する別のjdbcドライバを持っている場合、私は正しいそれらのそれぞれのxmlsを作成する必要がありますか?または、それらを1つのXMLプロパティファイルに格納できますか? – Robben
の両方があなたの要件に応じてそれを行うことができます。同じファイルにすべてを持たせたいのであれば、単に異なるキー名を使う必要があります。単に 'dev'のような接頭辞を追加するだけでキーは' dev.driverClassName'になります。しかし、あなたの場合、私はenvあたり1つを持つことをお勧めします –