코디잉

12.02_테스트하면서 오류수정 본문

PROJECT/TRIPLAN(여행 플래너)

12.02_테스트하면서 오류수정

yong_ღ'ᴗ'ღ 2022. 12. 3. 01:44

아직 세세하게 못한 기능이 있기는 하지만, 일단 마무리를 해야돼서,,!

마지막까지 각자 한 거 팀계정 Git 에 Push하고, Pull 받아서 테스트를 했다.

 

나랑 회원을 맡았던 다른 팀원 분이 테스트 했을 때는 둘 다 문제 없이 됐는데......

관리자 쪽 맡았던 팀원 분이 테스트 하는데 회원 부분에서 500에러가,,,,계속 떴다......

왜 나머지 2명은 되는데 안되는거지,,,? 모르겠다...

 

① 일단 첫 번째 문제는 SQL 쿼리에서 NULL 처리를 안 해줘서..!

마이페이지에서 회원의 일정 개수를 세주는 쿼리이다. (삭제된 일정은 제외, 동행자로 추가된 일정은 추가)

그래서 아래와 같이 IFNULL() 처리를 해줬다....저번 플젝할 때도 NVL() 처리 안했어서 오류났었는데,,,,

🔥🔥 ,,,,NULL 처리,,,꼭,,하자,,,

<select id="getPlanCount" resultType="java.lang.Integer">
    SELECT IFNULL(count(*), 0) + IFNULL((SELECT count(*) 
                                         FROM mate 
                                         WHERE user_code = #{user_code}), 0) "countAll"
    FROM plan
    WHERE user_code = #{user_code} 
      AND code NOT IN (SELECT plan_code FROM plan_deleted)
</select>

 

 

② 두 번째는 여행 상세보기 쪽에서 '좋아요(♡)' 버튼 때문이었다. (@Param)

비로그인 상태일 때에는 상세보기가 잘 보여지는데, 

로그인 상태일 때, 해당 일정을 좋아요했는지 아닌지를 가져오는 과정에서 일정코드 parameter를 찾을 수 없다고 떴다.

Mapper Interface 에 있는 코드만 수정해주니까 정상적으로 다시 됐다.

🔥 Interface 매개변수에 @Param 을 적어줬다.

   //Integer isLike(String plan_code, Integer user_code);
   
   // ↓ 로 바꿈
   
    Integer isLike(@Param("plan_code")String plan_code, @Param("user_code")Integer user_code);

 

 

나랑 다른 팀원 컴퓨터에서는 @Param을 명시하지 않았어도 이상이 없었었는데,,,!!!

앞으로는 다 저런 방식으로 작성해야겠ㄷㅏ,,,,,!

 

Comments