# ConnectionSupplier

DB接続を行う際のコネクションを提供するクラスです。 標準で以下のクラスが提供されているので用途に応じて使い分けてください。

クラス名 説明
DefaultConnectionSupplierImpl コンストラクタで受け取ったコネクションを返すだけのコネクション供給クラス
JdbcConnectionSupplierImpl JDBCドライバーマネージャを使用したコネクション提供クラス
DataSourceConnectionSupplierImpl データソースを使用したコネクション提供クラス

また、ConnectionSupplier (opens new window)インタフェースを実装した独自のJDBCコネクション提供クラスを利用することもできます。

# ConnectionContext 0.19.0+

動的にSqlAgentの接続先を切り替える場合は、SqlConfig#agent(ConnectionContext)メソッドを使用します。

ConnectionContextは、ConnectionContextBuilderの下記メソッドを利用して、インスタンスを生成します。

戻り値 メソッド名 説明
DataSourceConnectionContext dataSource() DataSourceConnectionContext を生成する.
DataSourceConnectionContext dataSource(String dataSourceName) DataSourceConnectionContext を生成する.
JdbcConnectionContext jdbc(String url) JdbcConnectionContext を生成する.
JdbcConnectionContext jdbc(String url, String user, String password) JdbcConnectionContext を生成する.
JdbcConnectionContext jdbc(String url, String user, String password, String schema) JdbcConnectionContext を生成する.

# 実装例

SqlConfig config = UroboroSQL
    .builder()
    .setConnectionSupplier(new JdbcConnectionSupplier("jdbc:h2:mem:mainConnection", "sa", "sa"))
    .build();

try (SqlAgent agent = config.agent()) {
  // using jdbc:h2:mem:mainConnection
  agent.required(() -> {
    ....
  });
}

//-------------------------------------------------------

try (SqlAgent agent = config.agent(ConnectionContextBuilder
				.jdbc("jdbc:h2:mem:subConnection", "sa", "sa"))) {
  // usingjdbc:h2:mem:subConnection
  agent.required(() -> {
    ....
  });
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21