クラス DriverManagerDataSource
- 実装されたすべてのインターフェース:
WrapperSE
、CommonDataSourceSE
、DataSourceSE
- 既知の直属サブクラス
SingleConnectionDataSource
DataSource
SE インターフェースの単純な実装、Bean プロパティを介してプレーンな古い JDBC DriverManager
SE を構成し、すべての getConnection
呼び出しから新しい Connection
SE を返します。注: このクラスは実際の接続プールではありません。実際には Connections をプールしません。本格的な接続プールの単純な置き換えとして機能し、同じ標準インターフェースを実装しますが、呼び出しごとに新しい接続を作成します。
対応する ApplicationContext の DataSource Bean として、または単純な JNDI 環境と組み合わせて、Jakarta EE コンテナーの外部のテスト環境またはスタンドアロン環境に役立ちます。プールを想定した Connection.close()
呼び出しは接続を閉じるだけなので、データソース対応の永続化コードはすべて機能するはずです。
NOTE: OSGi などの特別なクラスローディング環境内では、JDBC DriverManager の一般的なクラスローディングの課題が直接ドライバーを使用することで解決されるため、このクラスは SimpleDriverDataSource
に効果的に置き換えられます(これは SimpleDriverDataSource の動作です)。
Jakarta EE コンテナーでは、コンテナーによって提供される JNDI DataSource を使用することをお勧めします。このような DataSource は、このクラスのようなローカル DataSource Bean との間でシームレスに切り替えるために、JndiObjectFactoryBean
を介して Spring ApplicationContext で DataSource Bean として公開できます。テストの場合は、Spring の org.springframework.mock.jndi.SimpleNamingContextBuilder
を介してモック JNDI 環境をセットアップするか、Bean 定義をローカル DataSource に切り替えることができます (これはより単純であり、推奨されます)。
この DriverManagerDataSource
クラスは、もともと Apache Commons DBCP および C3P0 と一緒に設計されたもので、ローカルリソース設定用の構成プロパティを持つ Bean スタイルの BasicDataSource
/ComboPooledDataSource
クラスを備えています。最新の JDBC 接続プールの場合は、代わりに HikariCP を検討し、対応する HikariDataSource
インスタンスをアプリケーションに公開します。
- 導入:
- 14.03.2003
- 作成者:
- Juergen Hoeller
- 関連事項:
フィールドサマリー
クラス org.springframework.jdbc.datasource.AbstractDataSource から継承されたフィールド
logger
コンストラクターのサマリー
コンストラクターコンストラクター説明Bean スタイルの構成のコンストラクター。JDBC アクセス用のユーザー名またはパスワードを指定せずに、指定された JDBC URL で新しい DriverManagerDataSource を作成します。DriverManagerDataSource
(StringSE url, StringSE username, StringSE password) 指定された標準 DriverManager パラメーターで新しい DriverManagerDataSource を作成します。DriverManagerDataSource
(StringSE url, PropertiesSE conProps) JDBC アクセス用のユーザー名またはパスワードを指定せずに、指定された JDBC URL で新しい DriverManagerDataSource を作成します。メソッドのサマリー
修飾子と型メソッド説明protected ConnectionSE
指定されたプロパティを使用して接続を取得します。protected ConnectionSE
getConnectionFromDriverManager
(StringSE url, PropertiesSE props) DriverManager から厄介な静的を使用して接続を取得すると、protected メソッドに抽出され、簡単な単体テストが可能になります。void
setDriverClassName
(StringSE driverClassName) JDBC ドライバーのクラス名を設定します。クラス org.springframework.jdbc.datasource.AbstractDriverBasedDataSource から継承されたメソッド
getCatalog, getConnection, getConnection, getConnectionFromDriver, getConnectionProperties, getPassword, getSchema, getUrl, getUsername, setCatalog, setConnectionProperties, setPassword, setSchema, setUrl, setUsername
クラス org.springframework.jdbc.datasource.AbstractDataSource から継承されたメソッド
getLoginTimeout, getLogWriter, getParentLogger, isWrapperFor, setLoginTimeout, setLogWriter, unwrap
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース javax.sql.CommonDataSourceSE から継承されたメソッド
createShardingKeyBuilder
インターフェース javax.sql.DataSourceSE から継承されたメソッド
createConnectionBuilder
コンストラクターの詳細
DriverManagerDataSource
public DriverManagerDataSource()Bean スタイルの構成のコンストラクター。DriverManagerDataSource
JDBC アクセス用のユーザー名またはパスワードを指定せずに、指定された JDBC URL で新しい DriverManagerDataSource を作成します。- パラメーター:
url
- DriverManager へのアクセスに使用する JDBC URL- 関連事項:
DriverManagerDataSource
指定された標準 DriverManager パラメーターで新しい DriverManagerDataSource を作成します。- パラメーター:
url
- DriverManager へのアクセスに使用する JDBC URLusername
- DriverManager へのアクセスに使用する JDBC ユーザー名password
- DriverManager へのアクセスに使用する JDBC パスワード- 関連事項:
DriverManagerDataSource
JDBC アクセス用のユーザー名またはパスワードを指定せずに、指定された JDBC URL で新しい DriverManagerDataSource を作成します。- パラメーター:
url
- DriverManager へのアクセスに使用する JDBC URLconProps
- JDBC 接続プロパティ- 関連事項:
メソッドの詳細
setDriverClassName
JDBC ドライバーのクラス名を設定します。このドライバーは、起動時に初期化され、JDK の DriverManager に登録されます。注意: DriverManagerDataSource は、主に事前登録された JDBC ドライバーにアクセスするためのものです。新しいドライバーを登録する必要がある場合は、代わりに
SimpleDriverDataSource
の使用を検討してください。または、この DataSource をインスタンス化する前に、JDBC ドライバーを自分で初期化することを検討してください。"driverClassName" プロパティは、主に下位互換性のため、Commons DBCP とこの DataSource 間の移行のために保持されています。getConnectionFromDriver
クラスからコピーされた説明:AbstractDriverBasedDataSource
指定されたプロパティを使用して接続を取得します。サブクラスによって実装されるテンプレートメソッド。
- 次で指定:
- クラス
AbstractDriverBasedDataSource
のgetConnectionFromDriver
- パラメーター:
props
- 結合された接続プロパティ- 戻り値:
- 取得した接続
- 例外:
SQLExceptionSE
- 失敗した場合
getConnectionFromDriverManager
protected ConnectionSE getConnectionFromDriverManager(StringSE url, PropertiesSE props) throws SQLExceptionSE DriverManager から厄介な静的を使用して接続を取得すると、protected メソッドに抽出され、簡単な単体テストが可能になります。