robbie.dao.x
クラス XDao

java.lang.Object
  拡張robbie.dao.BaseDao
      拡張robbie.dao.x.XDao
すべての実装インタフェース:
java.io.Serializable
直系の既知のサブクラス:
GeneralXDao

public class XDao
extends BaseDao

XDAOクラス。

 このクラスは、XMLファイル内に定義された、SQLとデータベースリソースを使用して、
 データベースアクセスを行なうDAOクラスです。XML定義を利用したい場合には、
 このクラスを継承したクラスを業務要件毎に実装してください。
 また、このクラスにはデフォルトで、1トランザクションの検索処理と更新処理のみが実装されています。
 拡張を行なう場合には、このクラスを継承したクラスを作成し、XMLの<class-name>属性に
 クラス名と利用するリソースを設定してください。
 

関連項目:
BaseDao, XQueryFactory, XDbResource, 直列化された形式

フィールドの概要
protected  java.sql.SQLException exception
          直前の更新処理で発生したSQLException。
protected  XQueryFactory queryFactory
          XQueryFactoryクラスのインスタンス。
protected  XDbResource resource
          XDbResourceクラスのインスタンス。
 
コンストラクタの概要
XDao()
           
 
メソッドの概要
 void configure()
          configure()メソッドのオーバライド。
 java.sql.SQLException getSQLException()
          直前の更新処理で取得したSQLExceptionを返します。
 java.util.List query(java.lang.String id, java.util.Map params)
          問い合わせを実行し、結果をMapのListで返します。
 java.lang.Object[][] queryForArray(java.lang.String id, java.util.Map params)
          問い合わせを実行し、結果をObject[][]で返します。
 java.util.List queryForBeans(java.lang.String id, java.util.Map params, java.lang.Class beanClass)
          問い合わせを実行し、結果をJavaBeansのListで返します。
 void setQueryFactory(XQueryFactory queryFactory)
          XQueryFactoryインスタンスをセットします。
 void setResource(XDbResource resource)
          XDbResourceインスタンスをセットします。
 int update(java.lang.String id, java.util.Map params)
          更新処理を実行します。
 int update(java.lang.String id, java.lang.Object beans)
          JavaBeansからバインド変数Mapを作成して更新処理を実行します。
 
クラス robbie.dao.BaseDao から継承したメソッド
bindParameters, closeConnection, closeQuery, closeResultSet, closeStatement, commit, executeQuery, executeQueryForArray, executeQueryForBeans, executeUpdate, getConnection, isClosed, openQuery, openStatement, rollback, setAutoCommit, setConnection
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

queryFactory

protected XQueryFactory queryFactory
XQueryFactoryクラスのインスタンス。

 この変数を利用して、実行するSQLインスタンスを取得します。
 サブクラスでは以下のようにして、SQLインスタンスを取得して
 拡張実装を行なってください。
 
 Query query = queryFactory.createSQLInstance(id, params);
 
 

関連項目:
Query, XQueryFactory.createQueryInstance(String, Map)

resource

protected XDbResource resource
XDbResourceクラスのインスタンス。

 この変数を利用して、データベースへのConnectionを取得します。
 サブクラスでは以下のようにして、Connectionインスタンスを取得して
 拡張実装を行なってください。
 
 java.sql.Connection conn = resource.getConnection();
 
 また、直接DAOを実行可能にする場合には、次のように実装すると便利です。
 
 setConnection(resource.getConnection());
 
 

関連項目:
XDbResource.getConnection()

exception

protected java.sql.SQLException exception
直前の更新処理で発生したSQLException。

コンストラクタの詳細

XDao

public XDao()
メソッドの詳細

setQueryFactory

public void setQueryFactory(XQueryFactory queryFactory)
XQueryFactoryインスタンスをセットします。

パラメータ:
queryFactory - XSQLFactoryインスタンス

setResource

public void setResource(XDbResource resource)
XDbResourceインスタンスをセットします。

パラメータ:
resource - XmlDBResourceインスタンス

getSQLException

public java.sql.SQLException getSQLException()
直前の更新処理で取得したSQLExceptionを返します。

戻り値:
直前に取得したSQLException

configure

public void configure()
configure()メソッドのオーバライド。

このXDaoでは何も実装してません。 このメソッドは初期化処理としてXDaoかたインスタンス作成時に呼び出されています。 XDaoのサブクラスで初期化が必要な場合があれば、オーバライドして使用してください。


query

public java.util.List query(java.lang.String id,
                            java.util.Map params)
問い合わせを実行し、結果をMapのListで返します。

 コネクションを取得し、検索を実行してListを返した後、
 コネクションをcloseします。
 

パラメータ:
id - queryのid
params - パラメータMap
戻り値:
検索結果のMapのList

queryForArray

public java.lang.Object[][] queryForArray(java.lang.String id,
                                          java.util.Map params)
問い合わせを実行し、結果をObject[][]で返します。

Object[0][*]はカラム名のヘッダになります。 データだけ使用したい場合には、Object[1][*]から使用してください

パラメータ:
id - queryのid
params - パラメータMap
戻り値:
検索結果の2次元配列

queryForBeans

public java.util.List queryForBeans(java.lang.String id,
                                    java.util.Map params,
                                    java.lang.Class beanClass)
問い合わせを実行し、結果をJavaBeansのListで返します。

パラメータ:
id - queryのid
params - パラメータMap
beanClass - 変換するBeanのClassオブジェクト
戻り値:
JavaBeansのList

update

public int update(java.lang.String id,
                  java.util.Map params)
更新処理を実行します。

 このメソッドはSQLExceptionが発生した場合には、-1を返します。
 -1が返された場合にはそのSQLExceptionをメンバ変数として保持しますので、
 必要な場合にはgetSQLException()からそのSQLExceptionを取得することが可能です。
 また、このメソッドはJDBCトランザクションの場合には、1トランザクションとして
 実行されることに注意して下さい。ただし、JTA等のトランザクションコンテナ上では、
 コンテナののトランザクションが優先されます。
 

パラメータ:
id - queryのid
params - パラメータMap
戻り値:
更新件数、ただしSQLExceptionが発生した場合には-1

update

public int update(java.lang.String id,
                  java.lang.Object beans)
JavaBeansからバインド変数Mapを作成して更新処理を実行します。

 このメソッドはSQLExceptionが発生した場合には、-1を返します。
 -1が返された場合にはそのSQLExceptionをメンバ変数として保持しますので、
 必要な場合にはgetSQLException()からそのSQLExceptionを取得することが可能です。
 

パラメータ:
id - queryのid
beans - バインド変数となるJavaBeans
戻り値:
更新件数、ただしSQLExceptionが発生した場合には-1