10月19日(月)1、2コマ目

今日、やったこと

トランザクションの課題

今日のホワイトボード

課題作成上のルール

いまさらですが、以下のルールを守ってください。

階層化すること

図 階層化する


〇プレゼンテーション

サーブレット、JSPなど。
入力値の取得、表示。必要に応じて、機能実現メソッドを呼び出す。
ここではDBアクセスやシステムが提供すべき機能(検索など)は実装しない。

〇ビジネスロジック

普通のクラス。
システムに必要な機能を提供する。
今回は大した機能はないため、不要。
だけど、本当はトランザクションはここで実装すべき。

〇データアクセス

普通のクラス。
JDBCを使って、データベースアクセスをするのはここのクラスの仕事。

〇データトランスファー

普通のクラス。
フィールド+setter、getterのクラス。
レイア間のデータ受け渡しに使うクラス。

DBアクセス時の例外

基本的に例外はキャッチせず、上位へスロー。
最終的にサーブレットでキャッチ。サーブレットはHttpServletExceptionをスローするため、キャッチした例外をHttpServletExceptionに変換してスローしなおす。
ただし、トランザクション実装部ではSQL実行時に例外がスローされると、ロールバックしなければならない。よって、ここはキャッチ。キャッチ後、ロールバックしエラー内容に応じて対応。
図 DBアクセス時の例外スロー

授業内で紹介したコードは以下のとおり。




コメント

このブログの人気の投稿

11月16日(月)1、2コマ目

11月2日(月)1、2コマ目

10月13日(火)1、2コマ目