1日の終わりに、独自のAPIは、いくつかの資格情報を使用して、いくつかのデータベース(いくつかのサーバーで利用可能)にアクセスする必要があります。あなたはこれを見ないだけです。Springでは、最初にいくつかを定義する必要がありますDataSource。dbcp、bonecp、c3p0などの既存のライブラリを使用するか、 jndiを介してアプリケーションサーバーから提供されたライブラリを使用します。インターフェイスを実装している限り、どのアプローチを選択してもかまいません。それぞれを詳細に説明するには多すぎます。DataSource
DataSourceBeanを設定したら、JDBCコードを大幅に簡素化する方法を使用することを強くお勧めします。例:JdbcTemplate
List<Map<String,Object>> res = jdbcTemplate.queryForList("select * from test");
...そしてもっとたくさん。
更新:既存のレガシーAPIを最新のフレームワークDataSource(ほとんどすべて)で使用する場合、DataSourceアダプターの実装は簡単です(残りのメソッドは実装されないままで、スローされる可能性がありますUnsupportedOperationException):
public class LegacyDataSourceAdapter implements DataSource {
@Override
public Connection getConnection() throws SQLException {
return JdbcServiceFactory.getInstance().getDefaultDatabase().getConnectionManager().getConnection();
}
@Override
public Connection getConnection(String username, String password) throws SQLException {
return getConnection();
}
//other methods are irrelevant
}
LegacyDataSourceAdapter次に、 (おそらくSpring Beanとして)のインスタンスを作成し、それをJdbcTemplateHibernate、myBatisに渡します...
ところで、ここに悪いAPI設計のいくつかのファーストクラスの例があります:
Connection conn = JdbcServiceFactory.
getInstance().
getDefaultDatabase().
getConnectionManager().
getConnection();