[Seasar-user:17847] Re: S2DAO からの DataSet 取得について

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2009年 6月 24日 (水) 13:49:38 JST


中村様

下記の件了解いたしました。

ご提示頂いたソースコードを確認し、クラス作成を検討したいと思います。
(org.seasar.dao.unit.S2DaoBeanListReader を継承した方が良さそうかな…?)

また不明点がありましたら質問すると思いますが、
その際はご面倒をお掛けいたしますが、よろしくお願い致します。


以上、ありがとうございました。


----- Original Message ----- 
送信者: Toshihiro Nakamura<[E-MAIL ADDRESS DELETED]>
宛先: [E-MAIL ADDRESS DELETED]
日付:Wednesday, June, 24, 2009, 11:41 AM
件名: [Seasar-user:17841] Re:S2DAO からの DataSet 取得について

> 
> 
> 中村(taedium)です。
> 
> > ちなみに、「DataSet」を「List<ExcelList>」にした場合、
> > 正しく動作し、結果が取得できました。
> > 
> > DataSet が取得できれば、Excel出力が簡単だと思ったのですが、
> > やはり出来ないのでしょうか?
> 
> Daoから直接DataSetを取得することはできません。
> いったんBeanで取得した後、それをDataSetに変換するという
> 手順をとるのがいいと思います。
> 
> BeanをDataSetに変換する汎用的なクラスはありませんが、
> S2Daoに含まれる以下のクラスを参考にすれば
> 比較的簡単に作ることができます。
> 
>   org.seasar.dao.unit.S2DaoBeanReader
>   org.seasar.dao.unit.S2DaoBeanListReader
> 
> これらのクラスは、DataTableのテーブル名に適当な
> 名前を入れるので、そこを適切な名前が入るように修正すると
> いいでしょう。
> 
> これらのクラスで使用している
> org.seasar.dao.BeanMetaDataFactoryの実装クラスは
> S2Daoを使用している環境であれば
> コンテナからクラスをキーにして取得できます。
> 
> > 
> > 李様
> > 
> > いまいち解っていないのですが、SQLファイルの末尾を「_oracle.sql」に変更するという事で宜し
いの
> > でしょうか?
> > 
> > 試してみましたが、取得する事が出来ませんでした。
> > (バージョンが古いせいでしょうか?)
> > 
> > 
> > わからなので、現在のコードとエラー内容を記載いたします。
> > -------- ここからソースコード ---------
> > ********* ExcelDao.java ***********
> > public interface ExcelDao{
> > 
> > public static final Class BEAN = ExcelList.class;
> > 
> > public DataSet selectExcelListData();
> > 
> > }
> > 
> > ********* ExcelDao_selectExcelListData_oracle.sql ***********
> > select a -- char型
> >       ,b -- char型
> >       ,c -- char型
> >   from Z
> > ;
> > 
> > ******** ExcelList.java ***********
> > public class ExcelList implements Serializable {
> > 
> > public static final String TABLE = "Z";
> > 
> > public static final String a_COLUMN = "a"; 
> > public static final String b_COLUMN = "b"; 
> > public static final String c_COLUMN = "c"; 
> > 
> > private String a;
> > private String b;
> > private String c;
> > 
> > getter/setter
> > 
> > }
> > -------- ここまでソースコード ---------
> > 
> > 上記内容で行うとかきのException が発生しております。
> > ・java.lang.ClassCastException: java.lang.String
> >    at jp.co.test.dao.ExcelDao$$EnhanceByS2AOP$$1316b76.selectExcelListData(ExcelDao$$Enh
ance
> > dByS2AOP$$1316b76.java)
> > (2行目は作成したDAO呼び出し元クラス)
> > …
> > (コピペできない環境の為、スタックトレースはご勘弁下さい)
> > 場所は、変換されたDAO クラス内で落ちているようです。
> > 
> > ちなみに、「DataSet」を「List<ExcelList>」にした場合、
> > 正しく動作し、結果が取得できました。
> > 
> > 
> > DataSet が取得できれば、Excel出力が簡単だと思ったのですが、
> > やはり出来ないのでしょうか?
> > 
> > 大変申し訳ありませんが、ご教授願います。
> > 
> > 
> > ----- Original Message ----- 
> > 送信者: 李道広<[E-MAIL ADDRESS DELETED]>
> > 宛先: [E-MAIL ADDRESS DELETED]
> > 日付:Wednesday, June, 24, 2009, 09:48 AM
> > 件名: [Seasar-user:17836] Re:S2DAO からの DataSet 取得について
> > 
> > > 
> > > 
> > > 李です。
> > > 
> > > -----Original Message-----
> > > From: [E-MAIL ADDRESS DELETED]
> > > Subject: [Seasar-user:17832] S2DAO からの DataSet 取得について
> > > 
> > > 
> > > こんばんは。
> > > pianyi と申します。
> > > 
> > > 今回、Seasar2に同封されているPOIを使用して、DBの値をEXCELに出力しようと考え
> > > ております。
> > > 
> > > そこで、S2DAOのSQLファイル形式の方法?でSQLを発行していますが、
> > > Excel出力用に戻り値を「DataSet」実装してみたのですが、取得出来ないようです。
> > > 
> > > DAOのプロジェクトよりサンプルを確認しましたが、外だしSQLファイルを元に
> > > 「DataSet」を取得するようなサンプルがない為、どのように実装すれば良いかわか
> > > りません。
> > > 
> > > 
> > > diconファイルにSQLを書いたり、addSQL()を使用して行う事は出来ると思うのです
> > > が、
> > > 今までの流れ(SQLはSQLファイルに記述する)を変えたくありません。
> > > 
> > > つきましては、
> > > ・出来るか、出来ないか。
> > > →できます。
> > > 
> > > 出来る場合は、
> > > ・どこか参考になるURL
> > > ・サンプルコード
> > > など御座いましたら教えて頂けないでしょうか?
> > > →「http://s2dao.seasar.org/ja/s2dao.html」の「SQLファイル名」に記述されまし
> > > た。
> > > 
> > > 曖昧な質問で大変申し訳ありませんが、ご教授願います。
> > > 
> > > 以上、よろしくお願い致します。
> > > 
> > > 開発環境:
> > > ・mayaa-10.7.jar
> > > ・s2-struts-1.2.8.jar
> > > ・s2-dao-1.0.40.jar
> > > ・s2-extension-2.3.16.jar
> > > ・s2-framework-2.3.16.jar
> > > _______________________________________________
> > > Seasar-user mailing list
> > > [E-MAIL ADDRESS DELETED]
> > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > > 
> > > --------------------------------------------------------------------------------------
----
> > ---------
> > > Confidentiality Notice: The information contained in this e-mail and any accompanying 
atta
> > chment(s) 
> > > is intended only for the use of the intended recipient and may be confidential and/or 
priv
> > ileged of 
> > > Neusoft Corporation, its subsidiaries and/or its affiliates. If any reader of this com
muni
> > cation is 
> > > not the intended recipient, unauthorized use, forwarding, printing,  storing, disclosu
re o
> > r copying 
> > > is strictly prohibited, and may be unlawful.If you have received this communication in
 err
> > or,please 
> > > immediately notify the sender by return e-mail, and delete the original message and al
l co
> > pies from 
> > > your system. Thank you. 
> > > --------------------------------------------------------------------------------------
----
> > ---------
> > > 
> > > _______________________________________________
> > > Seasar-user mailing list
> > > [E-MAIL ADDRESS DELETED]
> > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > > 
> > 
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> 
> -- 
> Nakamura Toshihiro <[E-MAIL ADDRESS DELETED]>
> 
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
> 



Seasar-user メーリングリストの案内