SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

GlassFishからアプローチするJava

GlassFishからアプローチするJava~入門編~
第5回「Webアプリケーションの作成 MySQL Workbenchを使う」

買い物かごへの追加機能の実装

ダウンロード サンプルコード (13.0 KB)

買い物かごを実装する

 第7回で実装する認証機能ができるまでは、買い物かごの内容はユーザid「tomoharu」に紐づいたもののみ保存されることになります。HttpSessionに保持するのは「銘柄名」「単価」「本数」のみとし、それ以外の項目はその都度計算により求め表示します。また、HttpSessionの情報は変化があるたびにbasketテーブルを更新するようにします。basketテーブルもHttpSessionに保持している内容のみで、他の項目は計算可能であるため格納しません。

 買い物かごと言っても情報自体は非常にシンプルで銘柄名(name)、単価(price)、本数(quantity)のプロパティを持った単なるJava Beansを買い物かごの1明細に見立て、そのArrayListがテーブルに相当するようにします。まずはJava Beansから作成します。

買い物かごの1明細に相当するJava Beansクラスを作成

 [プロジェクトウィンドウ]-[ImoshochuWeb01]を選択、右クリックで[新規]-[Java クラス]と操作します。[新規Javaクラス 名前と場所]画面が開きます。クラス名に「basketItem」、パッケージに「jp.kawakubo」と入力し、[完了]ボタンをクリックします。エディタが開き、basketItemクラスの編集が可能となります。

 まず、3つのプロパティをprivateで宣言します。nameはString、priceとquantityはintで宣言します。getter/setterメソッドは、エディタ内で右クリックし、[リファクタリング]-[フィールドをカプセル化]と操作すると、[フィールドをカプセル化]画面が表示されます。各フィールドに対し「取得メソッドを作成」、「設定メソッドを作成」のチェックボックスがあります。immutableなbeans(プロパティに値を設定した後、プロパティの値を変更できないbean)を作成する場合は、「取得メソッドを作成」のみチェックし、設定はコンストラクタで行うようにします。今回は自由に値を変えれるように全てチェックを入れます。項目が多い時は、右側の[すべてを選択]ボタンをクリックすると自動的に全てにチェックが入ります。業務システムなど大量のプロパティがある場合非常に便利な機能です。[リファクタリング]ボタンをクリックすると3つのフィールドのsetter/getterメソッドが作成されます。当クラスはインスタンス化しArrayListに追加しHttpSessionに格納します。

basketテーブルを作成

 第4回で作成したimoshopデータベースにbasketテーブルを作成します。NetBeansで[サービスウィンドウ]-[データベース]-[MySQL サーバー]を選択、右クリックし[管理ツールを実行]を選択すると、MySQL Workbenchが起動します。図1のように[home]タブは大きく「SQL Development」、「Data Modeling」「Server Administration」の3つに分かれています。

図1.Workbenchの[home]タブ画面
図1.Workbenchの[home]タブ画面

 テーブルを作成するにはSQL Developmentを使います。図2のように[Overview]タブを選択、[Add Table]アイコンをクリックすると、[new_table]画面が開きます。下の方にある[Table]タブをクリックすると、図3のような画面が開きます。Nameに「basket」を入力します。Engineについては多くの種類があり、後方互換性を保つために残されているものなどがあるため注意すべきですが、ここではデフォルトのままでも構いません。

図2.[Overview]タブ画面
図2.[Overview]タブ画面
図3.[Table]タブ画面
図3.[Table]タブ画面

 次に[Columns]タブをクリックすると図4のような画面が開きます。ここで必要なカラムとその属性を指定します。先述した3つのプロパティ以外に主キーのためのidというカラムを追加しています。AIとはAUTO_INCREMENTのことで自動的に採番されます。デフォルトでは1からの連番となります。INDEXやFOREIGN KEYの指定もタブが用意されておりGUI画面で定義できます。[apply]ボタンをクリックすると図5のように[Apply Object Changes]画面が開きます。GUI画面で定義したものがCREATE文として表示されます。直接SQL文を打つことに慣れた方はこの画面で確認してGUI画面での定義を覚えることもできます。[apply]-[Finish]でテーブルの作成が完了します。

図4.[Columns]タブ画面
図4.[Columns]タブ画面
図5.[Apply Object Changes]画面
図5.[Apply Object Changes]画面

次のページ
basketテーブルを変更、basket_itemテーブルとuserテーブルを作成

この記事は参考になりましたか?

GlassFishからアプローチするJava連載記事一覧

もっと読む

この記事の著者

川久保 智晴(カワクボ トモハル)

haruプログラミング教室(https://haru-idea.jp/)主宰。COBOL、FORTRANで13年、Javaを中心としたWeb開発で11年。3つしか言語知らないのかというとそうでもなく、sed/awk、Perl、Python, PHP,  C#, JavaScriptなども一時期は業...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/4900 2010/03/03 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー