티스토리 뷰

스프링프레임워크

PostgreSQL 설명

잔잔한 물결처럼 2025. 2. 28. 02:17

pgAdmin 4 를 이용해 테이블을 생성할 수 있다.

Servers -> PostgreSQL -> Database -> postgres -> Schemas -> Public -> Table 에 우클릭후 생성

 

제약조건 설명

제약 조건 개요
NOT NULL NULL 입력을 허용하지 않는다(필수 입력)
UNIQUE 중복값 입력을 허용하지 않는다
CHECK 지정한 조건에 만족하지 않는 값을 허용하지 않는다.
PRIMARY KEY 테이블 안에서 레코드를 식별하는 기본키를 설정. 기본키는 NOT NULL 과 UNIQUE 가 함께 적용.
FOREIGN KEY 관련된 테이블을 연결하는 설정. 외부키라고도 한다
DEFAULT  칼럼의 초기값을 설정

 

DML

명령어 개요 구문
INSERT 데이터를 등록 INSERT INTO 테이블명 (칼럼명, 칼럼명...) VALUE(값, 값, ...);
SELECT 데이터를 참조 SELECT 칼럼명, 칼럼명, ... FROM 테이블명;
UPDATE 데이터를 갱신 UPDATE 테이블명 SET 칼럼명 = 값 WHERE 갱신할 레코드를 특정할 조건;
(WHERE 로 조건을 지정하지 않으면 모든 레코드가 대상이 된다)
DELETE 데이터를 삭제 DELETE FROM 테이블명 WHERE 삭제할 레코드를 특정하는 조건;
(WHERE 로 조건을 지정하지 않으면 모든 레코드가 대상이 된다)

 

원하는 테이블에서 우클릭후 Query Tool 을 선택하면 Query Editor 가 표시된다

 

엔티티와 레포지토리

구분 엔티티 레포지토리
설명 데이터를 담아두는 객체 데이터를 조작하는 클래스
규칙 클래스명은 대응하는 데이터베이스의 테이블명으로 한다 생성시에 반드시 인터페이스를 정의하고 구현
구성 필드값에는 테이블의 column 값
메서드는 getter 와 setter 로 이루어져있다
SQL문으로 구성
역할 데이터베이스에 값을 넘겨준다
데이터베이스에서 넘겨받은 값을 저장한다
데이터베이스를 조작한다

 

 

O/R 매퍼란

단순히 자바에서 사용하는 O(Object) : 객체와 R(Relational) : 관계형 데이터베이스의 데이터를 매핑하는 것이다

스프링 데이터 JDBC 프로그램 생성하는 방법

https://start.spring.io/ 

의존성에 Spring Data JDBC, Postgre SQL Driver 추가하면 Spring JDBC를 사용할 수 있다

 

application.properties 에 설정을 추가해야한다.

 

항목 설명
spring.datasource.driver-class-name JDBC 드라이버의 클래스명을 지정
spring.datasource.url 데이터베이스의 접속 URL 을 설정
spring.datasource.username 데이터베이스에 접속하는 유저명을 설정
spring.datasource.password 데이터베이스에 접속하는 패스워드를 설정

 

엔티티 생성하는 방법

엔티티에 사용되는 어노테이션 설명

어노테이션 설명
@Data 클래스에 부여하는 것으로 전 필드에 getter/setter 로 액세스 할 수 있다
hashCode(), equals(), toString() 도 자동 생성된다
@NoArgsConstructor 클래스에 부여하는 것으로, 기본 생성자가 자동 생성된다.
@AllArgsConstructor 클래스에 부여하는 것으로 전 필드에 대한 초기화 값을 인수로 가지는 생성자가 자동 생성된다.
@Id 기본키에 해당하는 필드를 지정한다

 

레포지터리 생성방법

레포지터리는 반드시 인터페이스로 선언해준다

레포지터리 인터페이스를 만든 후에 CrudRepository<인수타입, 기본키 타입> 을 지정한다.

CrudRepository 를 상속하면 안에서 메서드를 작성하지 않아도 사용할 수 있다.

 

CrudRepository 의 CRUD 메서드

반환형 메서드 개요
long count () 가져온 엔티티의 개수
void delete (Member entity) 지정한 엔티티를 삭제
void deleteAll () 리포지토리에서 관리하는 모든 엔티티를 삭제
void deleteAll (Iterable entites) 지정한 복수의 엔티티를 삭제
void deleteById (Integer id) 지정한 ID 에 해당하는 엔티티를 삭제
boolean existsById (Integer id) 지정한 ID 에 해당하는 엔티티의 존재 여부를 확인
Iterable findAll () 모든 엔티티를 반환
Iterable findAllById (Iterable ids) 지정한 복수의 ID에 해당하는 엔티티를 반환
Optional findById (Integer id) 지정한 ID에 해당하는 엔티티를 반환
Member save (Member entity) 지정한 엔티티를 저장
Iterable saveAll (Iterable entities) 지정한 모든 엔티티를 저장

'스프링프레임워크' 카테고리의 다른 글

템플릿 엔진  (0) 2025.03.01
MVC 모델이란  (1) 2025.02.28
Spring Initializr  (0) 2025.02.27
메타 어노테이션  (0) 2025.02.27
스프링 프레임워크에서의 AOP(관점 지향 프로그래밍)  (0) 2025.02.27
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함