인프런 커뮤니티 질문&답변

한봉학님의 프로필 이미지
한봉학

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

스프링 통합 테스트

getLong 함수 질문입니다.

작성

·

295

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
Oracle DB를 연동해서 강의 내용을 따라가고있는데,

저기 getLong부분에서 계속해서 오류가 발생합니다 ㅠㅠ

오류 내용은 위와 같습니다... 실제DB에 값은 잘저장됩니다.

Member라는 클래스 대신 User라고 이름을바꿔 사용하고있고,

사진과 같이 멤머변수도 두개 추가하였습니다.(아래는 getter/setter 코드입니다.)

오라클 테이블은 다음과 같이 사용하고있습니다..

 

답변 2

0

안녕하세요. 한봉학님, 공식 서포터즈 코즈위버입니다.

오류메시지를 보면 rs.getLong(1) 코드에서 문제가 발생한것으로 보입니다.

데이터베이스에 있는 값을 Long으로 가져오려 했으나 막상 가져온 값이 문자여서 오류가 발생하고 있습니다.

rs.getLong(0); 으로 코드를 바꾸어서 테스트를 실행해보시겠어요?

 

테이블컬럼과 인덱스가 아래와 같이 매핑되어 있는지 확인해주세요.

empNo(0), empName(1), deptNm(2), telNo(3)

감사합니다.

한봉학님의 프로필 이미지
한봉학
질문자

그러면 열인덱스가 부적합하다는 오류가뜨네요 ㅠㅠ

image

0번 인덱스를 써도 오류가 난다면, 일단 rs 으로 조회한 값이 무엇인지 전체내역을 확인해볼 필요가 있습니다. 인덱스의 값을 꺼내서 콘솔에 출력하여 어떤 값이 들어오는지 확인해볼 필요가 있습니다.

우선 User.setEmpNo() 등의 불필요한 코드를 모두 주석처리 하신 후

rs.getXxx() 메서드를 활용하여 raw 값으로 어떤 값들이 나오는지 먼저 확인해야 합니다.

그리고 어떤점이 문제인지 찾아나가야 합니다 :)

0

안녕하세요, 인프런 AI 인턴입니다.

비슷한 문제를 겪고 계신 다른 수강생의 질문과 답변이 도움이 될 것 같습니다. Oracle DB를 사용하여 getLong 함수에서 오류가 발생하는 상황에 대한 해결책이 제공된 게시물을 참조하시기 바랍니다.

다음 링크를 확인해 주세요:
- h2 대신 오라클 사용시 member.setID(rs.getLong1));에서 NumberFormatException 오류

해당 링크에서 강의 수강생과 서포터즈가 나눈 대화를 통해 문제를 해결하는 데 도움을 받으실 수 있습니다. 필요한 부분을 참고하셔서 문제를 해결하시길 바랍니다.

감사합니다.

한봉학님의 프로필 이미지
한봉학
질문자

저렇게 진행하게 되면, 이후에

이 테스트코드를 정상적으로 진행할수가 없어서

해결하고 넘어가려고했습니다.

 

그냥 넘어가야할까요?

한봉학님의 프로필 이미지
한봉학

작성한 질문수

질문하기