[Spring] repository.findAll() / repositoy.findById() 예제

[Spring] repository.findAll() / repositoy.findById() 예제

repository를 이용하면 컨트롤러의 코드는 단순하게 쓸 수 있고 공통되는 부분은 repository에서 관리할 수 있기 때문에 유용하다.

현재 리스트로 작성된 부분을 디비로 바꿔서 사용할 수 있는데 그런경우 활용도가 더 많다.

repository에서 아이디를 확인할 때 findAll()과 findByID()를 이용하여 다음과 같이 사용할 수 있다.

repository.findAll()

@GetMapping("/Items/{id}") public Item detail(@PathVariable("id") Long id){ List items = repository.findAll(); Item item = items.stream() .filter(r->r.getId().equals(id)) .findFirst() .get(); return item; }

repository.findById(id)

@GetMapping("/Items/{id}") public Item detail(@PathVariable("id") Long id){ Item item = repository.findById(id); return item; }

public class ItemRepository { private List items = new ArrayList<>(); // 생성자 안에 공통되는 부분 넣어줌 public ItemRepository(){ items.add(new Item(1004L, "item01", "aaa01")); items.add(new Item(2000L, "item2000", "aaa01")); } public List findAll() { return items; } public Item findById(Long id) { return items.stream() .filter(r->r.getId().equals(id)) .findFirst() .get(); } }

from http://batzero.tistory.com/16 by ccl(A) rewrite - 2020-03-20 17:54:27

댓글

이 블로그의 인기 게시물

2020 LCK 롤챔스 Spring 경기 재개 및 일정

데이터 바인딩 추상화 - propertyEditor

Spring Web Form