[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 メーリングリストの案内