第2回/ToDo管理/メンバー機能実装
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
[[第2回/ToDo管理/管理者機能実装]]
* ToDo管理アプリケーションのメンバー機能の実装 [#p2d2a420]
** UI紙芝居 [#d8ec5d1c]
- グループで相談しながら,各自で考えよ
-- 手書き、エクセル、パワポ、なんでも良い
** 実装方針 [#jae00adf]
メンバーのユースケースでは,ToDoの取得(UC12, UC15), 登録(...
よって,下記の順番で実装していく
- M1: ToDoのエンティティを定義
- M2: ToDoをCRUDするレポジトリを作成
- M3: ToDoの登録フォームを作成
- M4: ToDoを登録,取得,完了するサービスを作成
-- 存在チェックや重複チェックも行う
-- ユーザ毎のToDo, Doneを取得する
-- 全員のToDo, Doneを取得する
- M5: サービスを呼び出すコントローラを作成
-- リクエストマッピング
-- 画面生成・遷移
-- ログイン(IC11)はメンバーIDの存在チェックをして,個人ペ...
- M6: 画面用のHTMLテンプレートを作成する
*** M1: Entity - エンティティ [#vfbf22ab]
- enrity/ToDo.java
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
public class ToDo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Long seq; //通し番号
String title; //題目
String mid; //作成者
boolean done; //完了フラグ
@Temporal(TemporalType.TIMESTAMP)
Date createdAt; //作成日時
@Temporal(TemporalType.TIMESTAMP)
Date doneAt; //完了日時
}
- @GeneratedValue(...) - IDを自動採番するときには,このよ...
- @Temporal - Date型など日時をあらわす属性につける
-- TemporalType.DATE - 日付部のみが永続化される
-- TemporalType.TIME - 時刻部のみが永続化される
-- TemporalType.TIMESTAMP - 日時ともに永続化される
*** M2: レポジトリ - Repository [#zeda943e]
- repository/ToDoRepository.java
-- ヒント:自動実装されるメソッドに加えて,下記のカスタム...
--- midとdoneの値でToDoを検索するメソッド → ユーザのToDo...
--- doneの値でToDoを検索するメソッド → 全員のToDoリスト,...
*** M3: フォーム - Form [#l6117cc0]
- dto/ToDoForm.java
-- 今回の属性はタイトルだけ
*** M4: サービス - Service [#i3e56bba]
- service/ToDoService.java
-- public ToDo createToDo(String mid, ToDoForm form) {/* ...
-- public ToDo getToDo(Long seq) {/* 番号を指定してToDoを...
-- public List<ToDo> getToDoList(String mid) {/* midのToD...
-- public List<ToDo> getDoneList(String mid) {/* midのDon...
-- public List<ToDo> getToDoList() {/* 全員のToDoリストを...
-- public List<ToDo> getDoneList() {/* 全員のDoneリストを...
*** M5: コントローラ - Controller [#k4b2e8ca]
- controller/ToDoController.java
*** M6: 画面 - HTMLテンプレート [#w2dfaf30]
- templates/index.html (アプリTop画面)
- 素材
-- &attachref(todo_people.png);
- templates/list.html (自分のToDoリスト画面)
- templates/alllist.html (みんなのToDoリスト画面)
*** 実行&テスト [#y6043e69]
- http://localhost:18080/
** デプロイ [#j87d615f]
- http://localhost:8080/ToDoApp/
終了行:
[[第2回/ToDo管理/管理者機能実装]]
* ToDo管理アプリケーションのメンバー機能の実装 [#p2d2a420]
** UI紙芝居 [#d8ec5d1c]
- グループで相談しながら,各自で考えよ
-- 手書き、エクセル、パワポ、なんでも良い
** 実装方針 [#jae00adf]
メンバーのユースケースでは,ToDoの取得(UC12, UC15), 登録(...
よって,下記の順番で実装していく
- M1: ToDoのエンティティを定義
- M2: ToDoをCRUDするレポジトリを作成
- M3: ToDoの登録フォームを作成
- M4: ToDoを登録,取得,完了するサービスを作成
-- 存在チェックや重複チェックも行う
-- ユーザ毎のToDo, Doneを取得する
-- 全員のToDo, Doneを取得する
- M5: サービスを呼び出すコントローラを作成
-- リクエストマッピング
-- 画面生成・遷移
-- ログイン(IC11)はメンバーIDの存在チェックをして,個人ペ...
- M6: 画面用のHTMLテンプレートを作成する
*** M1: Entity - エンティティ [#vfbf22ab]
- enrity/ToDo.java
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
public class ToDo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Long seq; //通し番号
String title; //題目
String mid; //作成者
boolean done; //完了フラグ
@Temporal(TemporalType.TIMESTAMP)
Date createdAt; //作成日時
@Temporal(TemporalType.TIMESTAMP)
Date doneAt; //完了日時
}
- @GeneratedValue(...) - IDを自動採番するときには,このよ...
- @Temporal - Date型など日時をあらわす属性につける
-- TemporalType.DATE - 日付部のみが永続化される
-- TemporalType.TIME - 時刻部のみが永続化される
-- TemporalType.TIMESTAMP - 日時ともに永続化される
*** M2: レポジトリ - Repository [#zeda943e]
- repository/ToDoRepository.java
-- ヒント:自動実装されるメソッドに加えて,下記のカスタム...
--- midとdoneの値でToDoを検索するメソッド → ユーザのToDo...
--- doneの値でToDoを検索するメソッド → 全員のToDoリスト,...
*** M3: フォーム - Form [#l6117cc0]
- dto/ToDoForm.java
-- 今回の属性はタイトルだけ
*** M4: サービス - Service [#i3e56bba]
- service/ToDoService.java
-- public ToDo createToDo(String mid, ToDoForm form) {/* ...
-- public ToDo getToDo(Long seq) {/* 番号を指定してToDoを...
-- public List<ToDo> getToDoList(String mid) {/* midのToD...
-- public List<ToDo> getDoneList(String mid) {/* midのDon...
-- public List<ToDo> getToDoList() {/* 全員のToDoリストを...
-- public List<ToDo> getDoneList() {/* 全員のDoneリストを...
*** M5: コントローラ - Controller [#k4b2e8ca]
- controller/ToDoController.java
*** M6: 画面 - HTMLテンプレート [#w2dfaf30]
- templates/index.html (アプリTop画面)
- 素材
-- &attachref(todo_people.png);
- templates/list.html (自分のToDoリスト画面)
- templates/alllist.html (みんなのToDoリスト画面)
*** 実行&テスト [#y6043e69]
- http://localhost:18080/
** デプロイ [#j87d615f]
- http://localhost:8080/ToDoApp/
ページ名: