JAVA/SPRING
[Spring Boot] Spring Boot (3) - CRUD
KMSEOP
2020. 1. 8. 16:03
728x90
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