-
[Spring Boot] Spring Boot (3) - CRUDJAVA/SPRING 2020. 1. 8. 16:03728x90
1. Create
BoardService.java
package com.ms.study.service; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ms.study.domain.Board; import com.ms.study.repository.BoardRepository; @Service public class BoardService { @Autowired BoardRepository boardRepo; public List<Board> findAll() { List<Board> list = boardRepo.findAll(); return list; } public void create(Board board) { boardRepo.save(board); } }
BoardController.java
package com.ms.study.Controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.servlet.ModelAndView; import com.ms.study.domain.Board; import com.ms.study.service.BoardService; @Controller public class BoardController { @Autowired BoardService service; @GetMapping("/board") public ModelAndView boardList() { List<Board> list = service.findAll(); ModelAndView nextView = new ModelAndView("list"); nextView.addObject("boardList", list); return nextView; } @GetMapping("/board/create") public ModelAndView boardCreate() { ModelAndView nextView = new ModelAndView("create"); return nextView; } @PostMapping("/board/create") public ModelAndView boardCreate(Board board) { System.out.println(board); service.create(board); ModelAndView nextView = new ModelAndView("list"); List<Board> list = service.findAll(); nextView.addObject("boardList", list); return nextView; } }
create.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <!DOCTYPE html> <html> <head> <meta charset="EUC-KR"> <title>Insert title here</title> </head> <body> <form action="/board/create" method="POST"> <label>TITLE</label> <input type="text" name="title" /><br> <label>WRITER</label> <input type="text" name="writer" /><br> <label>CONTENT</label> <textarea name="content"></textarea><br> <button type="submit">CREATE</button> </form> </body> </html>
2. Read
BoardService.java
package com.ms.study.service; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ms.study.domain.Board; import com.ms.study.repository.BoardRepository; @Service public class BoardService { @Autowired BoardRepository boardRepo; public List<Board> findAll() { List<Board> list = boardRepo.findAll(); return list; } public void create(Board board) { boardRepo.save(board); } public Board detail(int id) { Board detail = boardRepo.getOne(id); return detail; } }
BoardController.java
package com.ms.study.Controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.servlet.ModelAndView; import com.ms.study.domain.Board; import com.ms.study.service.BoardService; @Controller public class BoardController { @Autowired BoardService service; @GetMapping("/board") public ModelAndView boardList() { List<Board> list = service.findAll(); ModelAndView nextView = new ModelAndView("list"); nextView.addObject("boardList", list); return nextView; } @GetMapping("/board/create") public ModelAndView boardCreate() { ModelAndView nextView = new ModelAndView("create"); return nextView; } @PostMapping("/board/create") public ModelAndView boardCreate(Board board) { service.create(board); ModelAndView nextView = new ModelAndView("list"); List<Board> list = service.findAll(); nextView.addObject("boardList", list); return nextView; } @GetMapping("/board/{id}") public ModelAndView detail(@PathVariable("id") int id) { ModelAndView nextView = new ModelAndView("detail"); Board detail = service.detail(id); nextView.addObject("detail", detail); return nextView; } }
detail.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE html> <html> <head> <meta charset="EUC-KR"> <title>Insert title here</title> </head> <body> <table> <thead> <tr> <th>No</th> <th>Title</th> <th>Writer</th> <th>Content</th> </tr> </thead> <tbody> <tr> <td>${detail.id }</td> <td>${detail.title }</td> <td>${detail.writer }</td> <td>${detail.content }</td> </tr> </tbody> </table> </body> </html>
3. Update
BoardService.java
package com.ms.study.service; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ms.study.domain.Board; import com.ms.study.repository.BoardRepository; @Service public class BoardService { @Autowired BoardRepository boardRepo; public List<Board> findAll() { List<Board> list = boardRepo.findAll(); return list; } public void create(Board board) { boardRepo.save(board); } public Board detail(int id) { Board detail = boardRepo.getOne(id); return detail; } public void update(Board board) { boardRepo.save(board); } }
BoardController.java
package com.ms.study.Controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.servlet.ModelAndView; import com.ms.study.domain.Board; import com.ms.study.service.BoardService; @Controller public class BoardController { @Autowired BoardService service; @GetMapping("/board") public ModelAndView boardList() { List<Board> list = service.findAll(); ModelAndView nextView = new ModelAndView("list"); nextView.addObject("boardList", list); return nextView; } @GetMapping("/board/create") public ModelAndView boardCreate() { ModelAndView nextView = new ModelAndView("create"); return nextView; } @PostMapping("/board/create") public ModelAndView boardCreate(Board board) { service.create(board); ModelAndView nextView = new ModelAndView("list"); List<Board> list = service.findAll(); nextView.addObject("boardList", list); return nextView; } @GetMapping("/board/{id}") public ModelAndView detail(@PathVariable("id") int id) { ModelAndView nextView = new ModelAndView("detail"); Board detail = service.detail(id); nextView.addObject("detail", detail); return nextView; } @GetMapping("/board/update/{id}") public ModelAndView update(@PathVariable("id") int id) { ModelAndView nextView = new ModelAndView("update"); Board origin = service.detail(id); nextView.addObject("origin", origin); return nextView; } @PostMapping("/board/update/{id}") public String update(@PathVariable("id") int id, Board board) { service.update(board); return "redirect:/board"; } }
update.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE html> <html> <head> <meta charset="EUC-KR"> <title>Insert title here</title> </head> <body> <form action="/board/update/${origin.id}" method="POST"> <label>TITLE</label> <input type="text" name="title" value="${origin.title}" /><br> <label>WRITER</label> <input type="text" name="writer" value="${origin.writer}" /><br> <label>CONTENT</label> <textarea name="content">${origin.content}</textarea><br> <button type="submit">UPDATE</button> </form> </body> </html>
4. Delete
BoardService.java
package com.ms.study.service; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ms.study.domain.Board; import com.ms.study.repository.BoardRepository; @Service public class BoardService { @Autowired BoardRepository boardRepo; public List<Board> findAll() { List<Board> list = boardRepo.findAll(); return list; } public void create(Board board) { boardRepo.save(board); } public Board detail(int id) { Board detail = boardRepo.getOne(id); return detail; } public void update(Board board) { boardRepo.save(board); } public void delete(int id) { boardRepo.deleteById(id); } }
BoardController.java
package com.ms.study.Controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.servlet.ModelAndView; import com.ms.study.domain.Board; import com.ms.study.service.BoardService; @Controller public class BoardController { @Autowired BoardService service; @GetMapping("/board") public ModelAndView boardList() { List<Board> list = service.findAll(); ModelAndView nextView = new ModelAndView("list"); nextView.addObject("boardList", list); return nextView; } @GetMapping("/board/create") public ModelAndView boardCreate() { ModelAndView nextView = new ModelAndView("create"); return nextView; } @PostMapping("/board/create") public ModelAndView boardCreate(Board board) { service.create(board); ModelAndView nextView = new ModelAndView("list"); List<Board> list = service.findAll(); nextView.addObject("boardList", list); return nextView; } @GetMapping("/board/{id}") public ModelAndView detail(@PathVariable("id") int id) { ModelAndView nextView = new ModelAndView("detail"); Board detail = service.detail(id); nextView.addObject("detail", detail); return nextView; } @GetMapping("/board/update/{id}") public ModelAndView update(@PathVariable("id") int id) { ModelAndView nextView = new ModelAndView("update"); Board origin = service.detail(id); nextView.addObject("origin", origin); return nextView; } @PostMapping("/board/update/{id}") public String update(@PathVariable("id") int id, Board board) { service.update(board); return "redirect:/board"; } @GetMapping("/board/delete/{id}") public String delete(@PathVariable("id") int id) { service.delete(id); return "redirect:/board"; } }
728x90'JAVA > SPRING' 카테고리의 다른 글
[Spring Boot] Spring Boot 정적 리소스 셋팅 (0) 2020.01.19 Gradle vs Maven (0) 2020.01.12 [Spring Boot] Spring Boot (2) - 기본 로직 + MySQL 연동 (0) 2020.01.07 [Spring Boot] Spring Boot (1) - 개발환경 설정 (0) 2020.01.05 [SPRING] MAPPER 비교연산자 에러(The content of elements must consist of well-formed character data or markup) (0) 2019.08.29