Development/에러 해결

[MyBatis] MyBatis로 조회시 Expected one result (or null) to be returned by selectOne(), but found: 2

늄늄늄 2020. 10. 6. 13:55

데이터를 조회하다가 Expected one result (or null) to be returned by selectOne(), but found: 2라는 메시지가 콘솔에 찍혀있는것을 보았다. 이말은 즉, 리턴된 결과는 1개 혹은 0 이어야 하는데 두개이상이 리턴되고 있다는 것...

그래서 해당 쿼리를 직접 데이터베이스에 들어가 조회를 했더니 아래처럼 결과가 나왔다.

 

 

사진과 같이 조회결과가 2개의 행이 나오고 말았다..

결국 쿼리를 반환해서 리턴받는 곳인 service쪽을 찾아보게 되었는데 아래와 같이 선언되어 있었고

 

public int selectUserNm(HashMap param) throws Exception {
    return loginDao.selectUserNm(param);
}

 

리턴을 2개 이상으로 주기 때문에 위의 소스를 아래와 같이 수정해 주었다.

 

public int selectUserNm(List<HashMap> param) throws Exception {
    return loginDao.selectUserNm(param);
}