Jun's Blog

[Mssql] 쿼리 조회 결과와 화면단의 결과가 다를 때 본문

Mssql

[Mssql] 쿼리 조회 결과와 화면단의 결과가 다를 때

Fizzyelf 2022. 4. 1. 17:49

분명 쿼리 조회 결과가 2건인데, 화면단에는 데이터가 1건만 출력이 된다.

 

그래서 debug도 찍어보고 혹여나 다른 xml을 바라보고 있는 것은 아닌지 상세하게 살펴봤지만

 

다 제대로 되어 있었다.

 

그래서 결국 결론은 xml에서 문제가 있다는 생각이 들었다.

 

삽집을 해본 결과로는 <resultMap>을 사용하여 객체에 매핑을 해주는데

 

구분자 역할을 하는 속성(기본키) id로 되어있었다.

 

해당 기본키는 쿼리 조회 결과에서는 null값으로 찍혀서 결과가 2줄이지만 한 줄로 합쳐져서 나온 게 아닐까 

 

하고 추정하고 있지만, 정확히는 모르겠다.

 

그래서 id를 result로 바꾸고 실행한 결과 화면단에도 정상적으로 데이터 2건이 출력된다.

 

 결론적으로 쉽게 말하자면 이것이다.

 

<resultMap id="resultUserList" type="UserVO">

  <id property="userId" column="USER_ID"/>

  <result property="userAge" column="USER_AGE"/>

  <result property="userHp" column="USER_HP"/>  

  <result property="userAddress" column="USER_ADDRESS"/>  

</resultMap>

 

일 때

 

 <id property="userId" column="USER_ID"/> ===> <result property="userId" column="USER_ID"/>

 

로 변경해서 실행하면 된다.

Comments