코드 순서
1. 메이븐 프로젝트 생성
2. pom.xml을 수정한다.
- jdk 1.8 버전 사용을 위해 아래 코드를 추가한다.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
- 드라이버 사용을 위해 아래 코드를 추가한다. 강의 코드는 에러가 발생해서 8.0.26 버전 코드로 사용했다.
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
3. 데이터베이스의 정보를 저장할 수 있는 객체를 만들기 위해 클래스를 구현한다.
- dto 하위 패키지를 생성하고 해당 장소에 클래스를 생성한다.
- 생성자, getter, setter, toString 메서드를 구현한다.
4. 데이터 입력, 수정, 삭제, 조회 기능을 보유한 클래스를 구현한다.
- dao 하위 패키지를 생성하고 해당 장소에 클래스를 생성한다.
- 각 기능을 가진 메서드를 생성한다.
- 강의 코드가 아닌, Class.forName("com.mysql.cj.jdbc.Driver");로 입력해서 에러를 해결했다.
- ps.set 메서드가 쿼리문의 ?를 채워줘서 완전한 문장으로 만든다.
- 예외처리에 주의
- rs.next()는 결괏값이 있으면 첫번째(혹은 다음) 레코드로 이동하고 true를 리턴한다. 결괏값이 없으면 false를 리턴한다.
- 사용한 후 객체를 닫아주어야 한다.
try with resource
try (SomeResource resource = getResource()) {
use(resource);
} catch(...) {
...
}
- 이전에는 객체를 생성하고 finally 구문에서 객체를 닫아주었다.
- ()괄호에 객체를 생성하면 사용하면 객체는 자동으로 반환되기 때문에 객체를 닫아주는 코드를 입력하지 않아도 된다.