지금까지의 데이터는 spring 내에서 사용했었다.
즉 서버를 끄게 되면 사라지는 데이터이기 때문에 db를 생성해보자
DB는 사용성이 편리한 h2 를 사용할 것이다.
https://www.h2database.com/html/main.html 에서 다운로드
❯ cd bin
❯ ./h2.sh
zsh: permission denied: ./h2.sh
❯ chmod 755 h2.sh
❯ ./h2.sh
bin 폴더로 가서 h2.sh를 실행시킨다.
맥은 권한을 줘야 실행이 가능하다 => chmod 755 h2.sh
실행을 하게 되면 아래와 같은 화면이 나온다.
JDBC URL의 주소를 jdbc:h2:tcp://localhost/~/test로 바쭤준다.
drop table if exists member CASCADE;
create table member
(
id bigint generated by default as identity,
name varchar(255),
primary key (id)
);
id는 자동으로 생성되고, name이 존재하는 member 테이블을 생성한다.
프로젝트 관리를 위해 프로젝트 루트에서 sql/ddl.sql 파일을 생성해 관리해준다.
DB를 생성했으니 이제 프로젝트에서 db 조작을 해보자
JPA가 없을 시절, 직접 sql 코드를 작성하는 방법부터 알아보자
실제 쿼리문을 사용해 db에 접근이 가능한 방식이다. 과거의 개발에는 이 방식을 이용했어야 하지만 JPA의 발전으로 인해 더이상 힘들게 코드를 작성하지 않아도 된다.
CRUD 기능을 제공
관계형 데이터베이스를 사용한다면 JPA가 거의 필수
Aspect Oriented Programming