주특기 입문 주차가 시작됐다
스프링부트를 사용해
RDBMS, SQL, JPA기본
기본 CRUD API 구현
Controller, Repository, Service
의 구조등을 배웠다
Relational DBMS(Database Management System)의 줄임말로 최소단위는 테이블이고 테이블은 열(column)과 행(row)로 이루어져있다
데이터베이스를 관리하는 소프트웨어를 말한다.
테이블 생성
CREATE TABLE IF NOT EXISTS 테이블명 (
id bigint(5) NOT NULL AUTO_INCREMENT,
title varchar(255) NOT NULL,
username varchar(255) NOT NULL,
PRIMARY KEY (id)
);
테이터 삽입
INSERT INTO 테이블명 (title, username) VALUES
('WIL 3번째', '김xx'), ('개발은 어려워', '나xx');
데이터 조회
SELECT * FROM 테이블명;
위에서 사용한 생성, 삽입, 조회 명령문을 SQL(Structured Query Language)이라고 합니다.
H2는 서버가 작동하는 동안에만 내용을 저장하고 서버가 작동을 멈추면 데이터가 모두 삭제되는 데이터베이스다
H2를 사용해 데이터의 테이블도 만들고 그테이블에
데이터도 삽입, 조회까지 해보았다
https://velog.io/@wmj0924/H2-%EC%82%AC%EC%9A%A9%EB%B0%A9%EB%B2%95
JPA(Java Persistence API)는 자바 진영의 ORM 기술 표준
JPA가 제공하는 API를 사용하면 객체를 DB에 저장하고 관리할 때, 개발자가 직접 SQL을 작성하지 않아도 된다.
JPA가 개발자 대신 적절한 SQL을 생성해서 DB에 전달하고, 객체를 자동으로 Mapping 해준다.
JPA는 내부적으로 JDBC API를 활용하는데, 개발자가 직접 JDBC API를 활용하면 패러다임 불일치, SQL 의존성 등으로 인해 효율성이 떨어진다.
이 때, JPA를 활용한다면 모든 SQL에 대해 개발자 대신 JPA가 자동으로 해결해 준다는 점에서 생산성을 크게 높인다.
ORM(Object-Relational Mapping)은 객체와 관계형 DB를 매핑한다는 뜻
출처 https://velog.io/@jwkim/JPA-JPA%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
CRUD는 컴퓨터 소프트웨어가 가진 기본 데이터 처리 기능이다.
Create -> SQL에서는 INSERT (생성)
Read -> SQL에서는 SELECT (읽기, 조회)
Update -> SQL에서도 UPDATE (수정)
Delete -> SQL에서도 DELETE (삭제)
DI
DI(의존성 주입)을 함으로써
IOC
IoC는 제어의 역전이라고 말하며, 간단히 말해 "제어의 흐름을 바꾼다"라고 한다.
객체의 의존성을 역전시켜 객체 간의 결합도를 줄이고 유연한 코드를 작성할 수 있게 하여 가독성 및 코드 중복, 유지 보수를 편하게 할 수 있게 한다.
Bean
다른 블로그 참조