Myriad Future

MemoController.java

💻 코드 1
(1)  package com.example.memo;
(2)  
(3)  import java.util.List;
(4)  import java.util.Map;
(5)  
(6)  import org.springframework.beans.factory.annotation.Autowired;
(7)  import org.springframework.stereotype.Controller;
(8)  import org.springframework.ui.Model;
(9)  import org.springframework.web.bind.annotation.GetMapping;
(10)  import org.springframework.web.bind.annotation.PathVariable;
(11)  import org.springframework.web.bind.annotation.PostMapping;
(12)  import org.springframework.web.bind.annotation.RequestMapping;
(13)  import org.springframework.web.bind.annotation.RequestParam;
(14)  
(15)  @Controller
(16)  public class MemoController {
(17)  
(18)   @Autowired
(19)   private MemoDAO memoDao;
(20)  
(21)   @GetMapping("/")
(22)   public String list(Model model) {
(23)   List<Map<String, Object>> memos = memoDao.list();
(24)   model.addAttribute("memos", memos);
(25)   return "list";
(26)   }
(27)  
(28)   @GetMapping("/write")
(29)   public String write() {
(30)   return "write";
(31)   }
(32)  
(33)   @PostMapping("/insert")
(34)   public String insert(@RequestParam Map<String, Object> memo) {
(35)   memoDao.insert(memo);
(36)   return "redirect:/";
(37)   }
(38)  
(39)   @GetMapping("/edit/{id}")
(40)   public String edit(@PathVariable(name = "id") int id, Model model) {
(41)   Map<String, Object> memo = memoDao.detail(id);
(42)   model.addAttribute("memo", memo);
(43)   return "edit";
(44)   }
(45)  
(46)   @PostMapping("/update")
(47)   public String update(@RequestParam Map<String, Object> memo) {
(48)   memoDao.update(memo);
(49)   return "redirect:/";
(50)   }
(51)  
(52)   @GetMapping("/delete/{id}")
(53)   public String delete(@PathVariable(name = "id") int id) {
(54)   memoDao.delete(id);
(55)   return "redirect:/";
(56)   }
(57)  
(58)   @RequestMapping("/search")
(59)   public String list(@RequestParam(name = "keyword", defaultValue = "") String keyword, Model model) {
(60)   List<Map<String, Object>> memos = memoDao.search("%" + keyword + "%");
(61)   model.addAttribute("memos", memos);
(62)   model.addAttribute("keyword", keyword);
(63)   return "list";
(64)   }
(65)  }
(66)