Seasar
久しぶりにSeasarをさわってみた。 以前Seasarを試したときのやつをバージョン2.0.18に入れ替えて、テストを実行してみたらテスト失敗。 DaoのテストでDataSetを比較する部分で失敗したんだけど、メッセージに失敗した行数とカラム名も出てて分かりやすくな…
一覧を表示する画面で、いくつかのソート順に切り変えられるようなものを作ろうとした場合。 ソート順ごとにDaoのメソッドを作成して、呼び出し側はどのメソッドを使うかを分岐して選択するというやり方もありますが、条件分岐はちょっとやだなぁと思いまし…
DataSetの日付の比較についての不具合が直ってます。 あと、ドキュメントが書き直されていてすごく分かりやすくなってました。ひがさんお疲れ様です。
http://d.hatena.ne.jp/higayasuo/20040731#1091237685 これを参考に更新系のテストを試していたら不具合発見です。 DataSet expected = readXls("xxxResult.xls"); assertEquals(expected, reload(expected)); この部分ですが、比較するDataSetが両方ともEx…
S2Unitがさらに簡単になったみたいです。前に私が要望したのより全然簡単。ありがたいです。 これでキライだったDaoのテストが面白くなってきた〜
試そうと思っててまだやってないことのリスト。 SQLでlike条件を使う N:1結合を多段的に行う 複雑なSELECT文の場合の使い方 たしか、現状ではlike条件ではDao利用者が'%'をつけて渡す必要があったような。できれば List getEmployeeLikeEmpno(String empno);…
まだ動かしてはないですが、ちょっとソースを覗いてみて気になった点です。 bitterpetshop.daoパッケージ内のクラスはS2Containerを直接使っていましたが、ここでもDIを使ったほうが良いと思いました。 あと、DAOが2層になっていて分かりにくいと感じました…
今度実プロジェクトでSeasar使っちゃいます。 説得は「コーディングが簡単になるオープンソースのライブラリがあるので使っていいですか?」「いいよ。」って感じ。 commonsと同じ感覚ですね。 そこで、いままで気にしてなかったけどライセンスについてはど…
S2UnitでExcelを読んで使っているときに使い勝手が悪いところがありました。まだCalcで作ったファイルでしか確認してませんが。 内容はSeasarグループの方に書いてます。 http://seasarproject.g.hatena.ne.jp/abhrsh/20040718#p1修正を取り込んで欲しいので…
Seasar Projectグループに参加しました。 http://seasarproject.g.hatena.ne.jp/abhrsh/ これでますますここの日記が書けなくなりそう。
S2Daoを試しながらS2Unitでテストしているときに気づいたことがある。 それはDBを更新するDaoのメソッドをテストする場合、検証の部分はいつもこんなパターンのコードになるということ。 DataSet actualDataSet = new DataSetImpl(); actualDataSet.addTable…
昨日の独自データ型をS2Daoで使う試みが正しく動作するかを検証するために、S2Unitを使ってテストしてみます。昨日のYMDateを流用した方が楽なので、日付とテキストが保存できる日記を作ってテストしてみよう。 まずテスト用にテーブルDiaryとDiaryクラスを…
ひがさんから指摘を頂きました。昨日のValueTypeの初期化の部分は ValueTypes.registerValueType(YMDate.class, new YMDateType());を実行するよりは、ダイコンで <component name="dummy" class="java.lang.Object"> <initMethod> @org.seasar.extension.jdbc.types.ValueTypes@registerValueType(@s2dao.YMDate@class, ne</initmethod></component>…
S2Daoを試してみました。 ほんとにインターフェースとSQLだけでDaoができちゃうんですね〜。これ覚えてしまったらもうJDBCなんて使いたくなくなるかも。でも独自のデータ型を使いたい場合はどうするんだろう?と思ったのでS2DaoのExampleをベースに試してみ…
テストも強化されるんですね。どんどん便利になってく〜 MockInterceptor mi = new MockInterceptor(); mi.setValue("Hello"); Hello hello = (Hello) mi.createMock(Hello.class); assertEquals("Hello", hello.greeting());これ、EasyMockと同じじゃないで…
Seasarっていままでアプリケーションサーバにいろんなもんがくっついてるやつだと思って敬遠してたけど、S2になってビジネスロジックに専念するみたい。軽くて易しい開発ができるのなら大歓迎だとおもう。 IoCコンテナって必要だよなぁと思っていて、Spring …