[javaStudy]22.07.23

김시원·2022년 7월 23일
0

JavaStudy

목록 보기
2/4

API : 클라이언트와 서버가 서로 상호작용하는 창구. 용도에 맞게 정해진 요구를 날리면 정해준 웹에 돌아오는 약속의 창구.

서버 : controller, service, repository

스프링은 자바로 작동하고, 데이터베이스는 SQL로 작동함.

H2는 RDBMS의 한 종류로, 서버가 켜져있는 동안에만 작동하는 RDB입니다.
In-memory DB의 대표 주자인 H2. 인메모리 DB란 서버가 작동하는 동안에만 내용을 저장하고, 서버가 작동을 멈추면 데이터가 모두 삭제되는 데이터베이스를 말합니다.


코드 작성할때는 java 폴더, 아니면 resources폴더.
resources폴더 안에 static, templates, application properties 있음.


https://aljjabaegi.tistory.com/626
https://i5i5.tistory.com/252


RDBMS : 고도화된 엑셀.

나 진짜 이해할 수가 없다.... ㅜㅜ h2 console 강의대로 하다가 정말 안되길래... 구글링 겁나 해보고 그래도 안되고... 진짜 화가 머리 꼭대기까지 났는데.. 그래서 유튜브 좀 보다가 다시 강의보고 해보니까 또 됨....건드린게 없는디.. ㅋ ㅋ ㅋ 노답~

jdbc:h2:mem:testdb

❓bigint(5) -> bigint

bigint : SQL에서 Long을 가리키는 방법. 자바에서는 Long으로 부른다면 SQL에서는 bigint라고 부른다.
varchar : string. 문자
AUTO_INCREMENT : 자동으로 증가해라. 이번 iD가 1이면 다음 id는 2 3 4.

[H2 console]

CREATE TABLE IF NOT EXISTS courses (
    id bigint(5) NOT NULL AUTO_INCREMENT, 
    title varchar(255) NOT NULL,
    tutor varchar(255) NOT NULL,
    PRIMARY KEY (id)
);

INSERT INTO courses (title, tutor) VALUES
    ('웹개발의 봄, Spring', '남병관'), ('웹개발 종합반', '이범규');

SELECT * FROM courses;

CREATE TABLE IF NOT EXISTS tutors (
    id bigint NOT NULL AUTO_INCREMENT,
    name varchar(255) NOT NULL,
    age bigint NOT NULL AUTO_INCREMENT,
    PRIMARY KEY (id)
);

INSERT INTO tutors (name, age) VALUES
    ('김시원', 25), ('김시원', 26);

SELECT * FROM tutors;

👉 JPA는, SQL을 쓰지 않고 데이터를 생성, 조회, 수정, 삭제할 수 있도록 해주는 번역기입니다.

Domain, Repository
MySQL에서 Table이 엑셀시트 하나에 해당. SQL은 그 테이블을 직접 조회해오는 기능.
마찬가지로 Spring에서는 Domain 또는 Entity라고 해서 테이블이랑 1:1로 대응되는 애. Repository가 SQL 역할을 함. Repository에 쓰여있는 코드가 JPA 코드를 사용하는 것과 똑같음.
Table은 Domain.
SQL은 Repository 이다.

도메인 패키지 만들어서, Course 클래스, CourseRepository 인터페이스 만들어줌.

profile
IT 개발자 시원

0개의 댓글