반응형

Spriong Boot Devtools

Devtools는 Spring Boot에서 코드가 수정되면 어플리케이션을 재실행해야 되는 불편한 점을 해결할 수 있도록 제공되는 모듈입니다.

 

설정 방법

1) build.gradle의 dependencies에 내용 추가

 

17번째 줄에 있는 내용 추가

 

2) Settings > Advanced Settings > Allow auto-make to start even if developed application is currently running 체크

 

 

3) Settings > Build, Execution, Deployment > Complier > Build project automatically 체크

 

 

반응형
반응형

DTO(Data Transfer Object)

계층 간 데이터 교환을 위해 사용하는 객체로 데이터 교환만을 위해 사용하므로 로직이 없으며 getter, setter 메소드만 갖습니다. View와 Controller 사이에서 데이터를 주고 받을 때 사용합니다.

 

public class Student {

    private Integer id;
    private String name;
    
    public Student(Integer id, String name) {
        this.id = id;
        this.name = name;
    }
    
    public Integer getId() {
        return id;
    }
    
    public void setId(Integer id) {
        this.id = id;
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }

}

 

 

반응형
반응형

프로시저(Procedure)

 

미리 SQL문을 선언하고 데이터베이스에 저장해서 사용하는 것으로 함수처럼 호출하여 사용할 수 있습니다.

 

프로시저를 사용하는 이유

1) 하나의 요청으로 여러 SQL문을 실행할 수 있습니다.

2) 미리 구문 분석 및 내부 중간 코드로 변환을 끝내므로 처리 시간이 단축됩니다.

3) 데이터베이스 트리거와 결합하여 복잡한 규칙에 의한 데이터의 참조무결성 유지가 가능하게 됩니다.

4) Java 등의 호스트 언어와 SQL 문장이 확실하게 분리되고 웹사이트 운용 중에도 프로시저의 교체에 의한 수정이 가능하기 때문에 보수하기 편해집니다.

 

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."


 

프로시저 생성 및 호출 방법

아래 코드는 MariaDB(혹은 MySQL)에서 학생 정보를 불러오는 프로시저를 생성하고 호출하는 코드입니다.

 

-- 프로시저 생성

DELIMITER $$
CREATE PROCEDURE getStudent()
BEGIN
    SELECT ID, NAME, AGE, DEPT_ID
    FROM STUDENT
    ORDER BY ID
END $$
DELIMITER;


-- 프로시저 호출

CALL getProcedure();

 

반응형
반응형

INNER JOIN과 OUTER 조인

INNER JOIN : 두 개의 테이블 A, B가 있을 때 이들의 교집합을 찾는 JOIN입니다.

OUTER JOIN : 두 개의 테이블 A, B가 있을 때 이들의 합집합을 찾는 JOIN입니다.

 

예를 들어, A와 B 테이블에 다음과 같이 자료가 들어가 있을 때 어떻게 사용하는지 봅시다.

 

A B
1 3
2 4
3 5
4 6

 

A와 B 테이블의 INNER JOIN 수행

INNER JOIN을 수행하면 두 테이블에 공통 데이터가 있는 열이 출력됩니다.

 

SELECT * FROM A
INNER JOIN B ON A.a = B.b

 

위의 쿼리를 수행 시 아래와 같이 데이터가 출력됩니다.

 

A B
3 3
4 4

출력 결과에서 알 수 있듯 두 테이블에 공통으로 들어간 열만 출력되는 것을 볼 수 있습니다.

 

A와 B 테이블의 LEFT OUTER JOIN 수행

LEFT OUTER JOIN을 수행하면 기준이 되는 테이블의 모든 열에 B와 공통되는 부분을 추가로 얻을 수 있습니다.

 

SELECT * FROM A
LEFT OUTER JOIN B ON A.a = B.b

 

위의 쿼리를 수행 시 아래와 같이 데이터가 출력됩니다.

 

A B
1 null
2 null
3 3
4 4

출력 결과에서 알 수 있듯 두 테이블 중 기준이 되는 A 테이블의 열은 모두 출력하고 B에서는 A와 곂치는 부분만 출력하는 것을 알 수가 있습니다.

 

반응형

+ Recent posts