inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

13강 데이터 베이스 연결문제..?

228

권주희

작성한 질문수 1

0

13강을 듣고 데이터베이스를 연결했는데 이름과 나이를 등록하면 둘다 빈칸으로 떠요. 터미널에서 mysql 조회해보면 이름 나이 다 잘 뜨는데 왜 그럴까요? 수정,삭제 기능도 안되구요ㅠㅠ

java spring aws mysql spring-boot jpa

답변 1

1

최태현

안녕하세요 주희님!! 기능이 동작하지 않다니 답답하시겠어요! 🥺

"이름과 나이를 등록하면 둘 다 빈칸으로 떠요" 라고 말씀해주신게 어떤 상황인지 화면을 보여주시면 조금 더 문제를 파악하는데 도움이 될 것 같습니다!

현재 작성하신 코드도 스크린샷 등으로 함께 올려주시면 확인해볼 수 있을 것 같아요!

감사합니다! 🙏

0

권주희

image등록하고 목록을 보면 이런식으로 뜹니다ㅜ

작성한 코드는 이렇습니다!

image

image

image

1

최태현

넵넵 확인했습니다! 현재 DB는 어떻게 되어 있고, 어떤 데이터가 들어 있나요?

  • desc [테이블 이름]

  • select * from [테이블 이름]

이 두 가지를 사용하시면 됩니다!

0

권주희

image이렇게 되어있습니다!

1

최태현

엇! 정말 이상하군요!! 현재 상황을 정리하면 이렇습니다.

  • 화면에서 데이터 "개수"는 잘 보이는데 사용자 이름 / 나이가 이상하게 보인다.

  • 실제로 DB에는 데이터가 정상적으로 잘 들어 있다.

 

그렇다면 저는 조회 하는 로직을 가장 첫 번째로 의심해볼 것 같아요!

조회 하는 로직을 확실히 의심하기 위해서는 API 응답이 어떻게 오는지도 확인해보면 좋은데요, 웹 UI를 사용하는 대신 post man을 이용해 해당 GET API 응답을 체크해보시면 좋습니다.

 

조회하는 로직은 특히 아래 부분을 볼 것 같습니다.

getUsers() 함수 (즉 GET API) 에서

return jdbcTemplate.query(sql, (rs, rowNum) -> {
  // 데이터를 가져온다
  return new UserResponse(id, name, age);
});

와 같이 되어 있는데 아래와 같이 System.out.println 등을 활용해서 데이터를 찍어볼 것 같습니다.

return jdbcTemplate.query(sql, (rs, rowNum) -> {
  // 데이터를 가져온다
  System.out.printf("이름 : %s\n", name); // <- 이렇게 확인해보고,
  
  UserResponse r =  new UserResponse(id, name, age);
  System.out.printf("이름 : %s\n", r.getName()); // <- UserResponse에도 잘 들어 있는지 확인해보고
});

정말 데이터를 잘 가져왔는지, new UserResponse를 했을 때 정말 이름과 나이가 잘 담기는지 체크해보시면 좋을 것 같아요!

0

권주희

해결이 됐어요! 감사합니다!!

getUsers를 보다 보니까 제가 UserResponse에 생성자를 제대로 안쓴걸 발견했습니다ㅠ

감사합니다~~

 

0

최태현

해결되셨다니 다행입니다! 😊 강의 진행하시다가 또 어려운 점 있으시면 편하게 질문 남겨주세요~ 감사합니다! 🙏

패키지 구분에 대해 궁금한게 있습니다

0

25

2

리액트 관련 질문이 있습니다.

0

65

2

스프링부트 버전

0

76

2

7강 강의를 들으려고 했는데 오류가 나서 서버가 안 켜지는거 같아요.

0

59

2

33강. UserLoanHistory의 관계성에 대한 질문

1

56

2

Java JDK 버전 문의의 건

0

135

2

ec2 에서 Linux버전이 달라져서 설치가 안되는것 같은데 자료 최신화좀 해주세요.

0

90

3

h2 console 접속했을 테이블 질문

1

67

1

ec2 서버에서 스프링 실행도 되고 인바운드 설정까지 했는데 index.html 안됨

0

79

2

15강. updateUser() 질문

0

56

2

깃허브 질

0

84

2

여기까지 다 끝냈다고 하셨는데

0

79

2

왜안될까요

0

72

2

MySQL 창이안ㄴ뜹니다

0

59

2

포스트맨

0

52

1

spring 개념적인 질문

0

71

2

인텔리제이 샘플코드 실행 안됨 오류

0

141

2

aws 배포할때 .env 파일에 저장한 환경변수에 관하여 여쭤볼게 있습니다

0

86

1

마이그레이션 오류입니다.

0

175

3

Whitelabel Error Page 오류가 났습니다.

0

166

2

안녕하십니까! 오류가 났습니다.. 도와주세요 ㅜㅜ

1

94

3

궁금한게 있습니다.

0

60

2

DTO 관련

0

70

2

궁금한게 있습니다!

0

69

2