« 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

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/42216115

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

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