본문 바로가기
웹개발/SpringBoot

데이터 조회하기

by 철없는민물장어 2023. 3. 8.
728x90

DB의 데이터를 조회하여 웹 페이지로 확인해보자.

 

 

이전에, /articles/new 에 접속해서 데이터를 입력하면, DB에 해당 데이터를 저장하도록 했다.

 

이번에는 /articles/1000 에 접속시 id가 1000인 데이터를 꺼내 보여줘보자.


1. 사용자가 브라우저를 통해 데이터를 요청함. 

/articles/{id}

 

2. 요청 url을 컨트롤러가 받아, 받은 url에서, 찾고자 하는 데이터의 정보를 repository에 전달.

 

3.repository는 DB에 데이터 요청, DB는 entity를 repository에 전달.

 

4. entity를 Model을 통해 View로 전달.

 


우선 View부터 만든다.

표 형식으로 보이게 했고,

id, title,content를 보여준다.

 

article이라는 데이터를 받아와 사용할 건데,

사용을 시작할 부분에 {{#데이터명}},

사용이 끝나는 부분에 {{/데이터명}}을 써주면 되고

 

각 변수는 {{변수명}}으로 사용하면 된다.

 


URL요청받기.

 

(이제 Controller 작성하여 url에서 찾고자하는 데이터정보를 뽑음.)

/articles/id값 경로로 접속하면 해당id값에 맞는 데이터를 보여줄것이니

@GetMapping을 해주고, 경로는 /articles/{id}로 한다. 

경로에 괄호를 쳐놓으면, 해당값을 변수로 사용할 수 있다.

 

컨트롤러에서 해당변수를 받아오기위해 컨트롤러 메소드 파라미터로 id를 넣어준다. (@Pathvariable 어노테이션 붙여야함)

 

그리고 해당id값으로 DB에서 값을 찾는다. 이는 articleRepository.findById메소드를 쓴다.

받은 값은 Entity인 Article타입의 articleEntity변수에 저장한다.

(주의: 엔티티의 디폴트생성자가 있어야함.)

 

받은 엔티티를 뷰로 전달하기위해 모델에 등록해야한다.

그래서 메소드 두번째인자로 모델을 넣고,

model.addAttribute메소드로 아티클앤티티를 등록한다.

 

이제 마지막으로, 만들어둔 mustache파일경로를 리턴하면 된다..

 

728x90

댓글