SQL
- 데이터베이스를 조작하고 관리하는 언어
MySQL
- RDBMS (Relational Managemnet System)의 한 종류
- Spring과 궁합이 좋아 많이 사용
DDL
- Data Definition Language
- CREATE: 새로운 데이터베이스 및 테이블 생성 // CREATE DATABASE 테이블이름;
- ALTER: 데이터베이스와 테이블의 내용을 수정
- DROP: 데이터베이스와 테이블을 삭제
- TRUNCATE: 데이터베이스와 테이블을 삭제, 최초의 테이블이 만들어졌던 상태, 즉 컬럼값만 남김
CREATE TABLE memo //테이블 이름
(
id bigint AUTO_INCREMENT // 1씩 자동으로 증가하게 고유번호 생성
title varchar(100) primaary key comment '제목', // NOT NULL과 UNIQUE의 조건을 가짐
content varchar(200) not null comment '내용'
userId varchar(100) not null comment '사용자',
foreign key(userId) refereces user(userId)
)
- PRIARY KEY: 기본키로 '유일하게 존재하는 값의 조합'을 설정
- FOREIGN KEY(FK): 다른 테이블에 의존하여 만든 키, 반드시 참조하는 테이블의 PK,UNIQUE조건이 설정된 열
데이터베이스에 값 넣기
- INSERT
INSER INTO memo VALUES ('제목', '내용입니다', '홍길동');
JDBC
- Java Database Connectivity
- 어플리케이션 서버와 데이터베이스를 연결해 줌
- DB에 접근 할 수 있도록 Java에서 제공하는 API
JdbcTemplate 사용 방법
- application.properties에 DB접근 정보 작성
- build.gradle에 JDBC라이브러리 등록
- Data Soure에 MySQL에 데이터추가
- MySQL 데이터베이스에서 open default console에서 테이블 뼈대 만들기 (CREATE으로)
- DB연결이 필요한 곳에서 JdbcTemplate을 주입받아와 사용
private final JdbcTemplate jdbcTemplate;
public MemoRepository(JdbcTemplate jdbcTemplate){
this.jdbcTemplate = jdbcTemplate;
}
( 생성자와 파라미터를 통해 JdbcTemplate객체가 자동으로 넘어와 jdbctemplate변수에 저장됨)
- INSERT
String sql = "INSERT INTO memo (username, contents) VALUES(?, ?)";
jdbcTemplate.update( sql, "Robbie", "오늘 하루도 화이팅!");
'Spring' 카테고리의 다른 글
[TIL] 231114 Spring | ORM, JPA, Hibernate, Entity, 영속성 컨텍스트 (0) | 2023.11.14 |
---|---|
[TIL] 231113 Spring | 3Layer Architecture, IoC와 DI, Bean (0) | 2023.11.14 |
[TIL] 231109 Spring 숙련주차 Entity 연관 관계 1:1 1:N N:1 관계 (0) | 2023.11.09 |
[TIL] 231108 Spring 숙련주차 Bean, 인증과 인가, 사용자 관리 (0) | 2023.11.08 |
[TIL] 231106 Spring 과제 (0) | 2023.11.06 |