자바와 데이터베이스는 서로 독립적이다.
JDBC를 통해 자바로 데이터베이스에 접속하는 것이다. 즉 JDBC는 자바와 데이터베이스의 다리역할이다.
도커를 사용해 postgresql을 띄워서 사용한다.
도커는 포트를 매핑시켜 로컬에서도 접속할 수 있게 해주는 것이다.
docker run -p 5432:5432 -e POSTGRES_PASSWORD=pass -e POSTGRES_USER=junseo -e POSTGRES_DB=springdata --name postgres_boot -d postgres
참고: https://velog.io/@max9106/Spring-Boot-PostgreSQL
JDBC를 사용해서 postgresql을 사용하기 위해 드라이버 의존성을 추가해줘야한다.(JDBC는 따로 무엇인가를 추가해주지 않아도 자바안에 기본적으로 들어와있다.)
<dependencies>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.2</version>
</dependency>
</dependencies>
JDBC에서 데이터베이스에 접속할 때 필요한 정보가 몇 가지 있다.
1. url(데이터베이스 위치정보)
2. 인증정보(데이터베이스에 접근하기 위한 인증 정보)
Try-with-resources를 사용하면 자원 반납을 자동으로 해준다.
try에 자원 객체를 전달하면, try 블록이 끝나면 자동으로 자원을 종료해주는 기능이다.(자바 7부터 사용가능하다)
SQL은 두 가지 종류가 있다.
1. DDL(definition을 정의하는 것. 즉 스키마를 만드는 것)
2. DML(데이터를 조작하는 것(추가, 업데이트 등))
간단한 sql문을 PreparedStatment를 통해 실행해볼 수 있다.(마찬가지로 Try-with-resources를 사용하였다.)
sql이 잘 실행된 것을 볼 수 있다.
DML을 사용해서 데이터를 넣을때도 똑같이 해주면 된다.
위의 문제들을 해결하기 위해 ORM을 사용하는 것이다.