Skip to main content

4 削除機能実装

追記、作成対象ファイル

  • ItemDao.java
  • DeleteItem.java

詳細

商品削除画面にて対象の商品情報をDBから削除する機能を実装する

  1. 商品削除機能を定義する(ItemDao.java)
  2. DB操作インターフェースを実装する商品登録クラスを作成する (DeleteItem.java)
  3. 動作確認

ItemDao.java

ItemDao.javaに以下のメソッドを追加します

deleteメソッド
項目内容
アクセス修飾子public
戻り値int
メソッド(引数)delete(int code)
throwsSQLException
仕様引数に受取る『code』と商品コードが一致するレコードをDBから削除する戻り値として成功件数を返す

以下の手順で機能を実装してください

  • クラス直下で宣言した変数『sql』に文字列『” delete from item where code = ?”』を代入
  • int型の変数『n』を宣言し、0を代入
  • try句とfinally句を用意する

tryブロック内に以下を記述

  • クラス直下で宣言した変数『con』のメソッド『prepareStatement』の引数に上記の変数『sql』を渡し、その戻り値をクラス直下で宣言した変数『ps』に代入
  • 変数『ps』のメソッド『setInt』の第一引数に『1』、代二引数に『code』を渡して実行
  • 変数『ps』のメソッド『executeUpdate』の戻り値を変数『n』に代入

以上でtryブロックは閉じます
tryブロック内に以下を記述

  • 『ps.close()』を記入(リソース開放)

以上でfinallyブロックは閉じます

  • 最後に変数『n』を戻り値として返します

 

DeleteItem.java

作成したDeleteItem.javaに以下のメソッド記を定義(オーバーライド)します

executeメソッド
項目内容
アクセス修飾子public
戻り値void
メソッド(引数)execute(HttpServletRequest request)
throwsSQLException
仕様daoオブジェクトを用い、削除処理を行ってその結果によってjspでの表示を振り分ける

以下の手順で機能を実装してください

  • ItemDaoクラスの変数『dao』を宣言し、『null』を代入
  • int型の変数『n』を宣言し、『0』を代入
  • int型の変数『code』を宣言し、『request.getParameter(“code”)』の戻り値を数値変換して代入

tryブロック内に以下を記述

  • 変数『dao』にItemDaoクラスをインスタンス化して代入
  • 変数『dao』のメソッド『delete』の引数に変数『code』を渡し、その戻り値を変数『n』に代入
  • 変数『n』が『0』より大きい場合→『request.setAttribute(“message”, “商品の削除が完了しました”);』を記述する。
  • それ以外の場合→『request.setAttribute(“message”, “商品の削除に失敗しました”);』を記述

以上でtryブロックは閉じます
finallyブロック内に以下を記述

  • 『if(dao != null) dao.close();』を記述

以上でfinallyブロックは閉じます

以上で削除機能の実装は完了です

動作確認

こちら を参考に、正常に動作するかを確認してみましょう!