2008-08-01から1ヶ月間の記事一覧

読書メモ2

DB

引き続き、以下のデータベース関連の本を読んでみました。詳解 Oracleアーキテクチャ作者: アクセンチュア・テクノロジー・ソリューションズ株式会社インフラストラクチャ・グループ出版社/メーカー: ソフトバンククリエイティブ発売日: 2007/05/30メディア:…

読書メモ

DB

データベースの物理的な設計や構造がどうなっているのかを調べてみたくなったので、何冊かの本を読み回ししつつ、実際にいろいろと動かしたりしています。図解入門よくわかる最新Oracleデータベースの基本と仕組み[第3版] (How‐nual Visual Guide Book)作者:…

1 サブミットボタンからはじまるStruts

第一章に掲載されている8つのサンプルを動かし、コードを追ってみました。ようやくForm/ActionやJSPファイルの位置づけ、Strutsの設定ファイルの読み方に慣れてきました。しかし、まだまだ一方向の画面遷移が1-2回しかないサンプルばっかりなので、具体的なS…

5 高度な関連

この章では、テーブル間関連性をどのようにXMLファイルに記述するか、そうすることでどのようなJavaファイルが生成され、プログラムの中でどのように扱われるのか、そのようなことに関するいろいろなサンプルが登場してきます。多対多の関係をRDBSで表現する…

読了

第6章以降は、自分なりにHibernateを使いながら理解を深めていった方が良さそうなトピックだったので、サンプルを試すようなことはやりませんでした。 とはいうものの、第8章で紹介されているクライテリアクエリは非常に興味深く感じました。Hibernateが提供…

「StrutsによるWebアプリケーションスーパーサンプル」

supersampleのSpring版に取り組んでいた時にStrutsを利用したサンプルと出会いましたが、その時はStrutsの概念をイマイチ把握できませんでした。ただ、WebアプリケーションのViewをどのようにコントロールするのが一般的なのかということに対するヒントをStr…

4 コレクションと関連

本章では、オブジェクト間の多対多や一対多の関係をHibernateでどのように表現・操作するのか、ということが語られています。それぞれのオブジェクトを表すhbm.xmlファイルに、他のオブジェクトとの関連性を記述するだけで、その関連性情報を保持するための…

2 マッピングの紹介

本章を通じて、JavaクラスとDBテーブルとのマッピング文章をXMLで作成し、それをベースにJavaクラスやDBのテーブルをコマンド一つで生成する過程を体感しました。ただ、なぜかHSQLDBへのスキーマ作成が上手くいかず、2-3日足止めをくらってしまいました。コ…

3 Hibernateの利用

本章では、Hibernateを利用して、テーブルにデータを登録する方法、テーブルのデータを取得する方法について述べられています。 データを新規登録する場合は、Javaのオブジェクトを生成して、それをHibernateが提供するsessionのsaveメソッドに渡してやるだ…

読了

第四章の「e-ラーニングシステムを作ろう」は、Springを利用したリッチクライアント型のアプリケーションのサンプルが掲載されていましたが、Swingの知識がほとんど皆無だったので、読み流す程度にしました。デザインパターンのComposite PatternやCommand Pat…

「開発者ノートシリーズ Hibernate」

SuperSampleのSpring版でHibernateに少し触れ、これが一体何ものなのかを勉強してみたくなったので、開発者ノートシリーズ(A Developer's Notebook)のHibernate版を購入して、読み進めることにしました。Hibernate (開発者ノートシリーズ)作者: James Elliot…

1 インストールと設定

本章の説明にしたがって、Hibernateを扱い始めるための事前準備を行ないました。HSQLDBとHibernate2を入手して、適当なディレクトリを作成し、そこに必要なファイルを配置し、build.xmlを書いて、ant実行したら、無事HSQLDBデータベースマネージャインターフ…

3-7 商品編集画面を作ろう(マスタ管理編)

前節に引き続き、この節でもStrutsを使ったサンプルが掲載されています。この節では、StrutsのActionクラスもDIコンテナで管理する手法が述べられています。前節では、BeanをAction内で利用するためには、ActionSupportクラスを継承して、AplicationContext…

3-8 ログイン画面を作ろう(マスタ管理編)

この節では、既存のコードには手を入れずにセキュリティ機能を実装する方法が述べられています。そんなことが可能なのかと思って読み進めていたら、本当にログインのビューとセキュリティ用の設定ファイルを用意するだけで、認証機能が実装されてしまい、と…

3-5 ショッピングサイトを作ろう

第三章のこれまでの節で断片的に実装してきた機能が、この節で統合されます。基本的な画面遷移は、htmlタグの中で指定されたURLを、HandlerMappingを使ってコントローラに振り分ける仕組みになっています。セッションには、ユーザーオブジェクトとカートオブ…

3-6 商品カタログを作ろう(マスタ管理編)

この節では、SpringMVCではなく、Strutsが利用されています。strutsについては、その概要すら知らない状態なので、この節の内容だけではキャッチアップ不可能でしたが、アクションとロジックの依存度を軽減するためにSpringのDIコンテナを利用することができ…

3-1 商品一覧画面を作ろう

第三章「Webショッピングアプリケーションを作ろう」に入りました。SpringMVCがどういうものなのかという点を中心に、読み進めていきたいと思っています。 まず最初の節では、DBから取得したデータを表示するだけの単純なプログラムが紹介されています。Spring…

3-2 商品詳細画面を作ろう

この節では、SpringMVCを用いて画面遷移を表現する方法が述べられています。リクエストURLとコントローラをマッピングする方法や、ビジネスロジックを終えた後にビューへ指示を出す方法など、サーバー上で行なわれている処理がより具体的に見えてきました。 …

3-3 ログイン画面を作ろう

この節では、入力フォームに入力されたデータをサーバー上でどのように扱うのかということを、SimpleFormControllerクラスを用いて説明されています。SpringMVCのコントローラとしてSimpleFormControllerを使うと、フォームに入力された値からサーバーのオブ…

3-4 ユーザー登録機能を作ろう

この節では、前節で登場したSimpleFormControllerクラスについて詳しく解説されています。GETリクエスト/POSTリクエストそれぞれの処理フローと、このクラスが提供しているコールバックメソッドの役割について述べられているP268付近の説明は、前節に取り組…

2-6 チケットを予約しよう

この節では、トランザクションの管理をAOPの概念を利用して実装する方法が例示されています。データベースへアクセスするアクションが増えてくると、そのそれぞれのアクションに対して、コミットやロールバックの手続きを書くという手間が増えてきますが、AO…

2-4 チケット情報を表示しよう

この節からはO/RマッッピングツールのHibernateを使用したサンプルが掲載されています。マッピングの設定が面倒くさそうですが、それさえやってしまえば、データクラス自体はすっきりします。Middlegenというツールも興味深いので、近々試してみようと思って…

2-5 予約を取り消そう

前節に続き、Hibernateを用いて更新や削除処理を行なう手法が説明されています。HibernateTemplateクラスのメソッドを呼び出すだけで、具体的なSQL文を書くことなくデータベースに反映されるということですが、P165のコラムの「永続オブジェクト」や「一時オブ…

2-1 チーム一覧を作ろう

第二章は「データベースを利用したアプリケーションを作ろう」ということなので、まずは、MySQLを使えるよう準備を行ないました。以前購入した「Leopard UNIX的システム構築」という本に、MySQLの導入方法が書かれていたので、それを参考にしながらセットアップ…

2-2 選手登録をしよう

この節では、Insert処理ができるように機能追加する過程で、データベースアクセスに関する様々なインターフェースやその実装クラスが登場してきます。データそのものとデータベースアクセスを分離する手法や、RDBMS操作自体もSpringが提供しているインターフ…

2-3 一覧から選手情報を変更・削除しよう

この節では、UpdateやDeleteに相当する機能が追加されていきます。MappingSqlQueryクラスやSqlUpdateクラスを利用することで、SQL文とBind変数のセットからSQL実行、ResultSetをWhileで回してリソースを解放する、という一連の処理をまとめて書く必要がなく…

1-3 Beanのライフサイクル

この節を通じて、BeanFactoryやgetBean呼び出しで何が行なわれているのかということを垣間見ることができました。BeanクラスにSpringで提供されているインターフェイスを実装することで、getBeanを行なう際に様々な処理を自動的に行なわせることができます。…

1-4 AOP

以前、他のSpring本を読んでAOPの概念に触れた時は、いろんなタイプのAdviceがででてきて、それをウィービングすれば分離されている関心事をターゲットに適用できるらしいということまでしかわからず、実際にそれをどうやって実現するのかということまでは追…