« lha on Linux | Main | JExcelAPI 日付のセット »

2008.08.19

TeedaでDataSourceを取得

基本はS2Daoで事足りつつ・・・動的にテーブルを切り替えたい場合(例えば、PostgreSQLでパーティショニングテーブルを使用していて、親テーブル経由ではなく子テーブルに直接データを登録したいような場合)、S2Daoではなかなか難しいケースも。

そんなときは、Connectionを用いてPreparedStatement等を直接使用すればどうとでもなるわけで。

参考:S2Daoで使用しているコネクションを取得する方法

public fieldとして定義し、@Bindingアノテーションを組み合わせて、

@Binding("dataSource")
public DataSource dataSource;

とか言う感じで定義しておくとDIしてくれるので、後はgetConnection()でコネクションを取得していかようにでも(closeするのを忘れないようにしなければなりませんが)。

なお、@Bindingアノテーションの引数は、jdbc.diconで定義されている

<component name="dataSource"
  class="org.seasar.extension.dbcp.impl.DataSourceImpl"
/>

name部分となりますので、複数のデータソースを併用している場合でも、コンポーネント名をそれぞれ定義しておくことで目的とするデータソースをDIすることが可能となります。

|

« lha on Linux | Main | JExcelAPI 日付のセット »

Java」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference TeedaでDataSourceを取得:

« lha on Linux | Main | JExcelAPI 日付のセット »