[Spring] TooManyResultsException 에러 해결

2023. 12. 1. 10:50·벽돌깨기
728x90

 

 

 

 

프로젝트를 하면서 발생했던 에러 TooManyResultsException

프로젝트 병합 후 테스트를 하는데 500 에러가 났다.

 

 

로그인에 성공하면 메인페이지로 넘어가야 하는데

아무런 반응이 없고 TooManyResultsException가 뜨네요.

 

Expected one result (or null) to be returned by selectOne(), but found: 6

2023-12-01 10:35:34.981 ERROR 6360 --- [p-nio-80-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is

org.apache.ibatis.exceptions.
TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 6
] with root cause org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 6 at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:81) ~[mybatis-3.5.13.jar:3.5.13] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) ~[mybatis-spring-2.1.1.jar:2.1.1] at com.sun.proxy.$Proxy89.selectOne(Unknown Source) ~[na:na] at

 

 

 

메일 인증 구현할 때 같은 메일로 회원가입을 진행했었는데,

DB를 확인해보니 데이터 중복 문제임을 확인할 수 있었습니다.

 

 

 

 

test@test.com으로 로그인을 하고 있었는데 중복 계정이 6개나 있네요.

 

에러 메세지였던 " Expected one result (or null) to be returned by selectOne(), but found: 6 "

즉, selectOne은 단일 데이터를 가져오는데 데이터 중복으로 인해

여러개의 데이터를 가져오려고 하고 있기 때문에 발생한 에러였습니다.

 

 

중복 데이터를 삭제한 후 로그인을 시도하니

세션에 값도 들어오고 메인페이지로 잘 이동합니다. ㅎㅎ

 

 

클라이언트 쪽에서 기본적인 유효성 검사만 진행되도록 구현했었는데

서버쪽에서 DB에 이미 유효한 메일이 존재할 경우

회원가입을 진행할 수 없도록 양방향 유효성 검사를 하도록 수정해야겠습니다.

728x90
저작자표시 비영리 변경금지

'벽돌깨기' 카테고리의 다른 글

[Tomcat] 이클립스 톰캣 Multiple Contexts have a path of "/spring". 에러 해결  (0) 2023.10.25
[Eclipse] The selection did not contain any resources that can run on a server 에러 해결  (0) 2023.10.20
[SpringBoot] Axios post 요청  (2) 2023.10.09
'벽돌깨기' 카테고리의 다른 글
  • [Tomcat] 이클립스 톰캣 Multiple Contexts have a path of "/spring". 에러 해결
  • [Eclipse] The selection did not contain any resources that can run on a server 에러 해결
  • [SpringBoot] Axios post 요청
gxxg
gxxg
함께 일하고 싶은 개발자를 꿈꾸는 예비개발자의 공부 기록
  • gxxg
    공공
    gxxg
  • 전체
    오늘
    어제
    • 분류 전체보기 (138)
      • ☁️ 구름 x 카카오 Deep Dive 풀스택 (7)
        • html, css (1)
        • Java (3)
        • 스프링 MVC (0)
      • 💻 코딩테스트 (89)
        • 백준 (2)
        • programmers (87)
      • SQLD (1)
      • Language (3)
        • Java (2)
        • JavaScript (1)
      • Style Sheet (0)
        • CSS (0)
        • SCSS & SASS (0)
      • DBMS (2)
        • Oracle (2)
        • MySQL (0)
        • postgresql (0)
        • 데이터베이스 기초 이론 (0)
      • React (0)
      • SpringBoot (0)
      • JSP (2)
      • 알고리즘 (0)
      • 2023-02 몰입형 SW 정규 교육 (24)
        • 9월 프로젝트 (8)
      • 벽돌깨기 (4)
      • Etc (4)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    springboot
    이클립스
    Lv2
    POST
    programmers
    eclipse
    코테
    JSP
    2단계
    javascript
    프로그래머스
    회원 관리 시스템
    자바스크립트
    코딩테스트
    티스토리챌린지
    CSS
    spring
    오블완
    톰캣
    Lv0
    자바
    HTML
    구현체
    junit 테스트
    3단계
    프로젝트 구조
    java
    0단계
    LV3
    DFS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
gxxg
[Spring] TooManyResultsException 에러 해결
상단으로

티스토리툴바