[seasar-dotnet:590] Re: DataReaderでデータの取得

koyak [E-MAIL ADDRESS DELETED]
2007年 9月 10日 (月) 16:48:04 JST


栗田さん

初めまして。小谷と申します。

単純に方法についてだけを考えると以下のような手順で
いけるのではないかと思います。
(実際に動かして試してみたわけではありません。ご了承下さい。)

1.Seasar.Extension.ADO.Impl.BasicSelectHandlerを継承したクラスを作成する。
(仮にCustomSelectHandlerとします)
2.CustomSelectHandlerにExecute(IDbCommand cmd)メソッドのoverrideを作成する。
3._dataReaderHandler.HandleにdataReaderを渡さずそのままdataReaderを返すようにする。

4..Seasar.Dao.Impl.SelectDynamicCommandを継承したクラスを作成する。
(仮にCustomSelectDynamicCommandとします)
5..Execute(object[] args)メソッドのoverrideを作成する。
6..BasicSelectHandlerではなくCustomSelectHandlerをnewするようにする。

7.Seasar.Dao.Impl.DaoMetaDataImplを継承したクラスを作成する。
(仮にCustomDaoMetaDataとします)
8.CreateSelectDynamicCommand(IDataReaderHandler drh)メソッドのoverrideを作成する。
9.SelectDynamicCommandではなくCustomSelectDynamicCommandをnewして返すようにする。

10.Seasar.Dao.Impl.DaoMetaDataFactoryImplを継承したクラスを作成する。
(仮にCustomDaoMetaDataFactoryとします)
11.CreateDaoMetaData(Type daoType)メソッドのoverrideを作成する。
12.DaoMetaDataImplではなく、CustomDaoMetaDataをnewするようにする。

13.S2Daoのコンポーネントを定義しているdiconを編集し、
DaoMetaDataFactoryImplではなくCustomDaoMetaDataFactoryを使うようにする。

1〜13はDBFluteを使用しない場合の方法です。
DBFluteを使用する場合は1〜3はそのまま。
4〜12の修正をxxx.allcommon.s2dao下にある
・S2DaoSelectDynamicCommand(SelectDynamicCommandの拡張)
・S2DaoMetaDataExtension(DaoMetaDataImplの拡張)
・S2DaoMetaDataFactoryImpl(DaoMetaDataFactoryの拡張)

に対して行い、dbflute.diconを編集。
S2DaoMetaDataFactoryImplの代わりにCustomMetaDataFactoryを使うように
すればいけるかと思います。
(ただし、dbflute.diconはDBFluteで自動生成を行う度に上書きされます。
ご注意下さい。)

-----------------------------------------------------------
koyak
[E-MAIL ADDRESS DELETED]
-----------------------------------------------------------

07/09/10 に marron Hnoss<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 初めてメールを送らせていただきます、栗田といいます。
> よろしくお願いします。
>
>  現在、.NETでS2Container、S2Dao、DBFluteを使用して開発を考えています。
> この方法で開発を進めるには、PCに対しての高負荷時の処理を考えて、DataReaderで取得できる
> ことも可能であることがMust要件と言われています。
>
> DataSourceから自分でDataReaderで取得する方法があると思いますが、
> DBFluteとS2Daoの機能がとても便利であるため、SQL文解決などを使用したく、
> また極力DataReaderを取得するまでの実装をORマッピングした場合と
> 変更したくないと考えています。
> 新規の開発者でも容易に実装&可読性もあがるメリットもあると思っているので
> なんとか利用できないかと思っております。
>
> 何か良い方法がないかアドバイスを頂ければありがたいです。
> よろしくお願いします。
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
>


seasar-dotnet メーリングリストの案内