본문 바로가기

카테고리 없음

토비의 스프링 3.1 1장 예제실습2

중복 코드의 메소드 추출

  • 앞서 실습한 내용을 보면 add(), get() 메소드의 역할과 책임은 사용자의 데이터를 추가하고 조회하는 것이다
  • 하지만 메소드에서 DB를 연결하는 역할이 추가되어있고 이 부분이 메소드별로 반복되고 있다
  • 이렇게 반복되는 역할의 코드를 메소드로 추출해서 만들어본다

이후 테스트를 진행하면서 오류가 발생했다

  • Duplicate entry '1000' for key 'users.PRIMARY' 라는 오류가 발생
  • 1000이라는 key값이 이미 users라는 테이블에 데이터로 들어있어 중복된 값이 들어왔다는 오류가 발생했다
  • 이것은 이전 소스코드 작성 후, main 메소드에서 직접 테스트하며 이미 들어간 데이터인 것이다
  • 해결을 위해서는 테스트 이후 매번 데이터를 삭제해주거나 main 메소드에서 테스트할 데이터를 변경해주어야 한다

  • 기존에 있던 데이터를 DELETE를 통해서 삭제해준다(여기서는 데이터가 user id가 1000인 데이터 한건이라 저렇게 삭제 했지만 특정 데이터를 삭제할 필요가 있다면 WHERE절을 작성해서 삭제해주어야 한다)
  • 데이터 삭제이후 main 메소드를 통해 테스트하니 정상적으로 동작하는 것을 확인 할수가 있었다
  • 테스트가 정상으로 끝난걸 보고 DB 연결을 하는 역할을 따로 분리해 메소드로 추출한 내용이 정상적으로 동작하는 것을 알 수가 있다