[Seasar-user:15810] Re: s2daoで戻り値のMapのKEYにアンダースコアを残すには
satoshiko
[E-MAIL ADDRESS DELETED]
2008年 9月 22日 (月) 23:22:42 JST
To:中村様
わかりやすく説明して頂き、ありがとうございました。
アンダースコアを残すように実装することが出来ました。
本当に助かりました。
今後ともよろしくお願い致します。
失礼致します。
2008/09/22 10:29 Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]>:
> 中村(taedium)です。
>
> > S2Daoのselectメソッドの戻り値をMapにした場合、
> > MapのKEYからアンダースコアが取り除かれていますが、
> > これを残す方法はありますでしょうか。
>
> S2Daoで対応するには、アンダースコアを除去しないクラスを独自に
> 用意してもらう必要があります。
>
> 以下に、方法を説明します。
>
>
> まず、Mapを扱う次の3つのクラスを拡張するなどして
> アンダースコアを除去しないクラスを作成します。
> (アンダースコアの除去はこれらの共通の親クラスで行われています)
> ・org.seasar.dao.impl.MapListResultSetHandler
> ・org.seasar.dao.impl.MapResultSetHandler
> ・org.seasar.dao.impl.MapArrayResultSetHandler
>
> 次に、S2DaoのTigerResultSetHandlerFactoryImplを拡張したクラスを作り、
> ファクトリメソッドで上記で作成したクラスのインスタンスを返すようにします。
>
> public class MyResultSetHandlerFactory
> extends TigerResultSetHandlerFactoryImpl {
>
> @Override
> protected ResultSetHandler createMapListResultSetHandler() {
> // org.seasar.dao.impl.MapListResultSetHandlerを
> // 拡張したクラスのインスタンスを返す
> return new MyMapListResultSetHandler();
> }
>
> @Override
> protected ResultSetHandler createMapResultSetHandler() {
> // org.seasar.dao.impl.MapResultSetHandlerを
> // 拡張したクラスのインスタンス
> return new MyMapResultSetHandler();
> }
>
> @Override
> protected ResultSetHandler createMapArrayResultSetHandler() {
> // org.seasar.dao.impl.MapArrayResultSetHandlerを
> // 拡張したクラスのインスタンスを返す
> return new MyMapArrayResultSetHandler();
> }
> }
>
> 最後に、dao.diconにて、
> org.seasar.dao.impl.ResultSetHandlerFactorySelector
> の替わりにTigerResultSetHandlerFactoryImplの拡張クラス
> (上の例で言えばMyResultSetHandlerFactory)を登録します。
>
> dao.diconの設定方法は以下のドキュメントが参考になります。
> http://s2dao.seasar.org/ja/daoDicon.html#configurationChange
>
>
> --
> Nakamura Toshihiro <[E-MAIL ADDRESS DELETED]>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20080922/3ba6cbe1/attachment-0001.html>
Seasar-user メーリングリストの案内