JpaRepository 에서 findAll, findById 하는법.

june·2020년 12월 21일

Service

public interface BoardService {
    List<Board> findAll();
    Board findById(long Id);
  }

ServiceImpl

@Service
public class BoardServiceImpl implements BoardService{
    @Autowired
    BoardRepository boardRepository;
    @Override
    public List<Board> findAll() {
        return boardRepository.findAll();
    }
    @Override
    public Board findById(long Id) {
        return boardRepository.findById(Id).orElse(null);
    }

Repository

public interface BoardRepository extends JpaRepository<Board,Long> {
}

Controller

@RestController
@RequestMapping(value = "/board_api")
public class BoardApiController {
    @Autowired
    BoardService boardService;
    @RequestMapping(value = "")
    public String index(){
        return "index";
    }
    @RequestMapping(value = "findall", method = RequestMethod.GET)
    public List<Board> findAll(){
        return (List<Board>) boardService.findAll();
    }
    @RequestMapping(value = "/findone/{Id}")
    public Board findone(@PathVariable("Id") long Id){
        Board boardData = boardService.findById(Id);
        return boardData;
    }

처음에 JPA를 시작했을때 내가 했었던 Legacy Spring 보다 어렵게 느껴졌다.
아직 JPA Springboot 를 공부하고 있는 중이지만, 확실히 덜 복잡하게 느껴졌고
Legacy에서 pom.xml 설정하는데 많은 시간이 든다면
boot는 확실히 내가 뭐가 필요한지만 안다면 시간소요가 적게 드는거 같다.
그리고 sql을 자동으로 해주는 기능이 편하다.

0개의 댓글