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

cndcjd2qn님의 프로필 이미지

작성한 질문수

스프링 DB 2편 - 데이터 접근 활용 기술

mybatis test 실패 문의

작성

·

47

0

안녕하세요. 수고가 많으십니다.

프로그램이 작동이 안되서 질문드립니다.

프로젝트 링크는 우선 아래와 같습니다.

https://drive.google.com/file/d/1TODdnDNN5JA7t_gqQQNNUYEAWnRss6kR/view?usp=drive_link

 

  1. mybatis

ItemRepositoryTest 실행시 save가 실패합니다.

id가 null로 해서 저장이 되는데 이유를 잘 모르겠습니다.

(그 전 강의인 JdbcTemplate 까지는 잘 됬었습니다)

 

  1. spring mvc

상품 저장시 웹 화면상에서 id에 데이터를 못 가지고 옵니다.

h2 db에서는 정상으로 저장은 됩니다.

 

답변 주시면 정말 감사드립니다.

답변 4

0

안녕하세요. cndcjd2qn님, 공식 서포터즈 y2gcoder입니다.

보내주신 코드 살펴보았습니다!

아마도 findById()에 대한 sql 문에 누락이 있었던 것으로 보입니다.

image.png

여기에 id 를 추가해주십쇼!

그러면 1번의 save 테스트 도 정상적으로 작동하고,

image.png

 

2번에 상품 상세페이지에서도 정상적으로 id를 가져오고 있습니다!

image.png

 

 

감사합니다.

0

cndcjd2qn님의 프로필 이미지
cndcjd2qn
질문자

죄송합니다. 지금 방금 엑세스 권한 해결했습니다.

https://drive.google.com/file/d/1TODdnDNN5JA7t_gqQQNNUYEAWnRss6kR/view?usp=sharing

0

안녕하세요. cndcjd2qn님, 공식 서포터즈 y2gcoder입니다.

image.png

 

https://bit.ly/3fX6ygx

위를 참고하셔서 업로드 권한을 해결해주십쇼!

 

감사합니다.

0

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

MyBatis를 사용한 데이터베이스 연동과 관련된 질문이군요. 귀하의 상황과 유사한 문제가 여러 번 논의된 적이 있습니다. 각각의 링크에서 제공된 답변을 통해 문제 해결의 실마리를 찾으실 수 있을 것입니다.

  1. MyBatis에서 findById에서 id가 null로 반환되는 문제

    • MyBatis findById에서 id null
      • 해당 질문에서는 MyBatis 설정 파일 및 실제 코드에서 발생할 수 있는 오류에 대해 논의하고 있습니다. 모든 XML 매퍼 파일 내의 설정을 다시 한번 검토해주시고, 특히 useGeneratedKeys, keyPropertykeyColumn의 설정이 정확히 되어 있는지 확인해 주세요.
  2. ItemRepository 테스트 실패 관련

    • MemberRepositoryTest 실행 에러
      • 이 질문은 비슷한 맥락에서 JPA 및 MyBatis 테스트 실패와 관련된 문제를 다룹니다. 여기서는 특히 static 키워드 관련 문제를 다루고 있습니다. 마찬가지로, 리포지토리 구성 및 설정을 다시 확인해 보시는 것이 좋습니다.
  3. 테스트 환경 설정 문제

    • 테스트 오류
      • 해당 답변에서는 JUnit 및 SpringBootTest 설정과 관련된 문제를 다룹니다. 테스트 환경 설정이 정확한지, import 부분에서 문제가 없는지 확인해 주세요.

추가로, @SpringBootTest 또는 @Test 어노테이션이 정확히 사용되었는지, Maven 또는 Gradle 설정 파일에서 의존성과 플러그인이 정상적으로 포함되었는지 확인해보시기 바랍니다. 또한, IDE(예: IntelliJ)에서 Project Structure 설정도 재검토해보세요(Google Drive 링크를 통해 제공되었으니, 현 프로젝트 설정 파일을 다시 한번 검토해 주세요).

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.