[seasar-s2dao-dev:469] DBのメタデータを使わないストアド実行の仕様について
Toshihiro Nakamura
[E-MAIL ADDRESS DELETED]
2007年 8月 26日 (日) 20:42:17 JST
中村(taedium)です。
DBのメタデータを使わずDaoメソッドのDTO引数の情報を使って
ストアドを実行するSqlCommandを新規に作成してみました。
いままでの仕様も引き続き有効です。
(コードは変更してしまいましたけど基本的な仕様は変えていないつもり。)
新しいSqlCommandは
以下のようなDTOをメソッドの引数で渡した場合にのみ有効
にしようと思っています。
-------------------------------------------------------------
public static class HogeDto {
public static String PROCEDURE_PARAMETERS = null;
public static String xxx_PROCEDURE_PARAMETER = "type=in, index=3, name=eee";
private String xxx;
}
-------------------------------------------------------------
PROCEDURE_PARAMETERSはストアド用のDTOであることを
示すアノテーションです。
xxx_PROCEDURE_PARAMETERはプロパティごとに
属性を指定するためのアノテーションです。
typeはパラメータのタイプでin、inout、out、returnの
いずれかを指定できます。デフォルトはinです。
indexはパラメータの位置です。
指定された場合はこのindexを使って、指定されない場合は
パラメータ名を使ってバインドします。
この属性は無くてもいいかなぁと思ったのですが
derbyが名前でのバインドをサポートしていなかったので
仕方なく有りにしました。
nameはパラメータ名です。
指定しない場合はプロパティ名がパラメータ名になります。
こんな感じでどうでしょう?
何かありましたらツッコミおねがいします。
既存の処理の方に対する修正についても
気づいた点などありましたらいってください。
例外処理とtigerのアノテーションリーダーは
まだつくってないです。これから作成予定です。
--
Toshihiro Nakamura
seasar-s2dao-dev メーリングリストの案内