중복 코드의 메소드 추출
- 앞서 실습한 내용을 보면 add(), get() 메소드의 역할과 책임은 사용자의 데이터를 추가하고 조회하는 것이다
- 하지만 메소드에서 DB를 연결하는 역할이 추가되어있고 이 부분이 메소드별로 반복되고 있다
- 이렇게 반복되는 역할의 코드를 메소드로 추출해서 만들어본다
이후 테스트를 진행하면서 오류가 발생했다
Duplicate entry '1000' for key 'users.PRIMARY'
라는 오류가 발생- 1000이라는 key값이 이미 users라는 테이블에 데이터로 들어있어 중복된 값이 들어왔다는 오류가 발생했다
- 이것은 이전 소스코드 작성 후, main 메소드에서 직접 테스트하며 이미 들어간 데이터인 것이다
- 해결을 위해서는 테스트 이후 매번 데이터를 삭제해주거나 main 메소드에서 테스트할 데이터를 변경해주어야 한다
- 기존에 있던 데이터를 DELETE를 통해서 삭제해준다(여기서는 데이터가 user id가 1000인 데이터 한건이라 저렇게 삭제 했지만 특정 데이터를 삭제할 필요가 있다면 WHERE절을 작성해서 삭제해주어야 한다)
- 데이터 삭제이후 main 메소드를 통해 테스트하니 정상적으로 동작하는 것을 확인 할수가 있었다
- 테스트가 정상으로 끝난걸 보고 DB 연결을 하는 역할을 따로 분리해 메소드로 추출한 내용이 정상적으로 동작하는 것을 알 수가 있다