전체 글
-
SQL UNION 간단하게 알아보기SQL 2023. 9. 30. 18:14
UNION 여러 개의 SELECT문 결과를 하나의 테이블이나 결과 집합으로 표현 중복 제거가 자동으로 포함됨 (DISTINCT) 만약 중복을 모두 출력하고 싶다면 UNION ALL을 사용하면 된다. SELECT의 각각 결과들의 필드 개수와 타입은 모두 동일해야 한다. SELECT의 각각 결과들은 필드의 순서가 같아야한다. SELECT SEQ_ONE FROM TBL_ONE UNION SELECT SEQ_TWO FROM TBL_TWO -- UNION ALL 사용 SELECT SEQ_ONE FROM TBL_ONE UNION ALL SELECT SEQ_TWO FROM TBL_TWO 그림으로 정리하는 UNION 출처) https://inpa.tistory.com/entry/MYSQL-%F0%9F%93%9A-JOI..
-
SQL JOIN 총정리SQL 2023. 9. 30. 13:14
INNER JOIN 조인하는 테이블의 ON 조건이 일치하는 결과만 출력 FROM 절에 콤마를 사용하면 INNER JOIN으로 사용 가능 OUTER JOIN과 다르게 어느 테이블에서 기준으로 조인을 하든 조인 관계에 부합되는 record를 모두 가지게 된다. 조인에 부합되지 않는 record는 모두 삭제된다. select t1.name from tbl_one as t1 inner join tbl_two as t2 on t1.seq = t2.seq where t1.seq = "1" -- join을 완료하고 그다음 조건을 따진다. -- inner join 함축 구문 select t1.seq from tbl_one t1, tbl_two t2 where t1.seq = t2.seq and t1.seq = "1" ..
-
트랜잭션(Transaction)이란?SQL 2023. 9. 30. 12:05
Transaction 하나 이상의 쿼리를 처리할 때 동일한 Connection객체를 공유하여 에러가 발생한 경우 모든 과정을 되돌리기 위한 방법 데이터 베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 Transaction 특징 데이터 베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위 시스템이 응답하기 위한 상태 변환 과정의 작업단위로 하나의 Transaction은 Commit되거나 Rollback된다. Commit : 작업이 성공적으로 끝났을 때, Transaction 연산이 완료된 것을 관리자에게 알려준다. Rollback : 비정상적 종료로 인해 일관성이 깨지면, 원자성을 위해 모든 연산을 취소한다. (Rollback은 해당 트랜잭션을 재시작하거나 ..
-
Redirect와 Forward의 차이점WEB & CS 2023. 9. 29. 12:36
Redirect 페이지 전환의 주체가 클라이언트 클라이언트로 redirect 요청이 들어오면 클라이언트는 다른 url로 이동하라는 명령을 내린다. url을 지시된 주소로 바꾸고 그 주소로 이동한다.(url 변화 O) 다른 web container에 있는 주소로 이동이 가능하다. 페이지 이동 시, 새로운 request, response가 생성된다. (객체 재사용 X) Forward 페이지 전환의 주체가 서버 페이지 이동을 할 때는 웹 브라우저는 다른 페이지로 이동했는지 알 수 없다. (url 변화 X) 클라이언트는 최초 호출한 url만 표시되고, 이동한 페이지의 url 정보는 볼 수 없다. 주체가 서버이기 때문에 서버가 하는 일을 모른다. 요청의 정보는 그대로 유지한다. 호출된 url과 forward에 의..
-
Spring bean 정리(3)_Spring Bean 스코프Spring Framework 2023. 8. 13. 15:49
bean scope 빈이 존재할 수 있는 범위 Singleton scope 기본 스코프, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프 Singleton bean은 컨테이너 생성 시점에 같이 생성되고 초기화된다. 생성된 하나의 인스턴스는 Spring Beans Cache에 저장되고, 해당 빈에 대한 요청과 참조가 있으며 캐시된 객체를 반환한다. 하나만 생성되기 때문에 동일 참조를 보장한다. 모든 빈은 스코프가 명시적으로 지정되지 않으면 싱글톤이다. 대상 클래스에 @Scope(”singletone”) 을 붙이면 된다. 각각 다른 요청에서 boardService bean(Singleton scope의 bean)을 요청하면 스프링 컨테이너는 동일한 boardService bean을 반환한..
-
Spring bean 정리(2)_Bean 생성과 singletonSpring Framework 2023. 8. 13. 15:48
singleton 객체를 딱 1번만 생성하고 싶을 때 사용하는 기법 싱글톤 빈은 스프링 컨테이너에서 한 번만 생성되며, 컨테이너가 사라질 때 제거된다. @Configuration은 @Bean에 추가 설정을 줘서 singleton을 보장한다. spring bean의 singleton 예시 // singleton 보장함 @Configuration public class SampleConfig { @Bean public SampleService sampleService() { // code.. (A 객체 생성 로직) } @Bean public SubSampleService subSampleService() { // code.. (A 객체 생성 로직) } } // singleton을 보장하지 않음 @Compon..
-
Spring bean 정리(1)_bean 등록Spring Framework 2023. 8. 13. 15:43
Spring bean 스프링 ioc 컨테이너에 의해 관리되는 자바 객체 spring ioc container bean의 생명주기를 관리하고 추가적인 기능을 제공한다. 제어 흐름을 외부에서 관리(ioc)해주고 객체들 간의 의존 관계를 스프링 컨테이너가 런타임 과정에서 알아서 만들어 준다. 스프링 빈 등록 방식 component scan @Component를 명시하여 빈을 추가하는 방법 개발자가 직접 컨트롤이 가능한 클래스들의 경우에 사용 클래스 위에 @Component를 붙이면 스프링이 알아서 spring container에 bean을 등록한다. @Component는 @Target(ElementType.TYPE) 설정이 있으므로 Class 혹은 Interface에만 붙일 수 있다. @Controller, ..