Quickスタート | Robbie DAOについて | ダウンロード | 開発ガイド | JavaDoc | Robbie.JPについて |
開発ガイド
0.はじめに

1.SQL定義
  1.1 SELECT文
    ◆ 動的な変数のバインド
    ◆ IN述語
    ◆ BETWEEN句
    ◆ 副問い合わせ
    ◆ 動的SQL構成
  1.2 INSERT文
  1.3 UPDATE文
  1.4 DELETE文

2.データベース接続定義
  2.1 JDBC
  2.2 DataSource
  2.3 JDBC-ODBC
  2.4 DbResource

3.DAO利用方法
  3.1 XDaoFactory
  3.2 XDao
  3.3 GeneralizedXDao
  3.4 XML定義
  3.5 SDao

4.その他
  4.1 DAOパターンについて
  4.2 制約事項


データベースへの接続情報を定義します。データベースへの接続はJDBC、DataSource、JDBC-ODBCブリッジを使用してデータベース接続が可能です。

JDBCによって接続する時は、resource-list要素のresource要素にtype属性に「JDBC」と記述し、driver、url、username、passwordを指定します。
        
  <resource-list>
    <resource id="TestJDBC" type="JDBC">
      <driver>oracle.jdbc.driver.OracleDriver</driver>
      <url>jdbc:oracle:thin:127.0.0.1:1251:ORCL</url>
      <username>test</username>
      <password>test</password>
    </resource>
  </resource-list>
        
driverには、JDBCドライバのクラス名を記述します。また、urlの記述方法は製品依存になります。上記の例ではOracleのthinドライバの記述方法です。使用する製品のJDBCドライバのマニュアルを確認してください。


サーバサイドでデータソースを使用する場合には、type属性に「DataSource」と記述しJNDI名を定義します。

  <resource-list>
    <resource id="OracleDataSource" type="DataSource">
      <jndi-name>java:comp/env/jdbc/SampleDataSource</jndi-name>
    </resource>
  </resource-list>

        
JNDI名の記述方法もJNDIサーバの設定によって変わる場合があります。アプリケーションサーバのマニュアルを確認してください。


Microsoft Windowsに設定されているODBCデータソースにJDBCドライバからブリッジする場合には、type属性を「JDBC-ODBC」と指定します。

  <resource-list>
    <resource id="TestAccess" type="JDBC-ODBC">
      <odbc-data-source>jdbc:odbc:TestAccess</odbc-data-source>
    </resource>
  </resource-list>
        
データソース名は上記のodbc-data-source要素のTextの赤字のところにの指定してください。



robbie.dao.resource.DbResourceインタフェースを実装したクラス()のインスタンスが、XDaoのメンバ変数としてセットされています。これ処理はXDaoFactoryによって行われるため、開発時には気にする必要はありません。

※ JdbcResource、DataSourceResource、JdbcOdbcResourceの3種類が存在します。2.1〜2.3で前述した3つのリソース定義に対応しています。


このDbResourceインタフェースには以下のようなAPIが存在します。なお、開発時にこれらのAPIを使用することはありません。

メソッド 処理概要
Connection getConnection() XMLの定義を基にConnectionインスタンスを取得します。
void release() Ver1.1.0より追加されました。
現在のスレッドに紐付いているConnectionリソースを開放します(閉じます)。この実装はThread毎にコネクションプーリングするJdbcResourceのみで実装されています。DataSourceResource、JdbcOdbcResourceでは何も処理を行っていません。

release()メソッドは、Ver1.1.0から追加されたAPIです。このメソッドは同じくVer1.1.0から追加されたXDao#release()メソッドから呼び出されているため、開発時にこのAPIを使用することはありません。


XDaoおよびGeneralXDaoを使用する場合、DbResouceのインスタンスは1つのリソース定義(resouce要素)につき1つのインスタンスが初期化時に作成されます。このインスタンスはXMLのファイルスタンプが更新されるまで、生き続けることになります。

これらXDbResourceのインスタンスは、DAOの定義時にresouce-ref要素で同じresourceのidを指定した全てのDAOと共有されることになります。しかし、基本的にDbRresouceは状態を持たないインスタンスであるため、マルチスレッドで使用しても特に問題はありません。


Copyright 2006 Robbie.JP