Facade | go go bioethics

go go bioethics

知は力なり。

BookService.java


/**

* 書籍管理サービスインタフェースです。

*/

public interface BookService {

 /**

  * 書籍データの更新・挿入処理を行います。

  * 更新処理でデータが1件も更新されなかった場合、

  * 新規データとみなして挿入処理を行います。

  * @param book書籍データ

  */

  void updateOrInsertBook(Book book);

}





BookServiceImpl.java


/**

* 書籍管理サービスインタフェース実装クラスです。

*/

public interface BookServiceImpl implements BookService {

 public void updateOrInsertBook(Book book) {

  // DAOクラスの生成

  BookDao bookDao = new BookDao();

  // 更新処理

  int result = bookDao.update(book);

  // 更新件数が0なら挿入処理

  if (result == 0) {

   // 挿入処理

   bookDao.insert(book);

  }

  bookDao.insert(book);

 }

}




UpdateBookAction3.java


/**

* 書籍データ更新・挿入アクション(サービスレイヤの導入)です。

*/

public class UpdateBookAction3 extends Action {

 /**

  * 書籍の更新処理を行います。

  */

 public ActionForward execute(ActionMapping mapping, ActionForm form,

   HttpServletRequest req, HttpServletResponse res)

      throws Exception {

  UpdateBookForm bookForm = (UpdateBookForm) form;

  

  // FormBeanからドメインオブジェクトにデータをコピー

  Book book = new Book();

  BeanUtils.copyProperties(book, form);

  // ①更新 or 挿入処理

  BookService service = new BookServiceImpl();

  service.updateOrInsertBook(book);

  

  return mapping.findForward("success");

 }  

}