
root-context.xml 모든 서블릿이 공유할 수 있는 Bean들이 모인 공간으로 공통 bean을 설정 JSP와는 관련없는 객체(Bean)을 설정하고 스프링 MVC 설정과 관련된 여러 처리를 담당한다. ex) Service, Repository ... View와 밀접하지 않은 정보를 기술하는 xml 파일 DB는 View(JSP)와 관련이 없으므로, DB 접속은 root-context.xml 에 설정 여기서 DB 연결, Mybatis 설정과 세션 생성을 했다. // Root Context: defines shared resources visible to all other web components DB 관련 정보를 커넥션 풀 객체에 담는 설정 dataSource 빈을 등록하고, property 태그를..

스프링은 흩어놓은 페이지 같아 이해가 어려웠다. 이참에 하나씩 뜯어 정리해보기로 했다. web.xml 서버의 시작지점으로 웹 애플리케이션의 기본적인 설정을 작성하는 파일이다. WAS Tomcat 이 최초로 구성될 때 web.xml 파일을 읽고 그에 해당하는 웹 애플리케이션을 설정한다. Deployment Descriptor 배포 서술자라고도 한다. 한글처리(encoding)를 여기서 했다. xml 파일이고 버전, UTF-8로 인코딩한다는 설정 web.xml 파일의 루트 엘리먼트로 모든 웹 애플리케이션 설정은 이 코드 안에 있어야 한다. - 객체를 핸들링하기 위한 접근수단 : 이름이나 객체를 바인딩하는 집합의 역할을 담당한다. - 어플리케..

Index 테이블에 저장된 행의 검색 속도를 높일 수 있는(원하는 행으로 바로 갈 수 있다) 트리 구조의 오브젝트 - 리프노드(가장 하단의 노드)에 각 행을 바로 접근할 수 있는 포인터가 있다. - DBMS에서 자동으로 사용하고 유지 관리도 해줘서 관리가 편하다. - 안 써도 상관 없지만 있으면 성능을 향상시킨다. 사용방법 : X 정의방법 : CREATE INDEX 인덱스명 ON 테이블(컬럼명), ALTER index, DROP index WHERE 절 / JOIN 조건 / 규모가 작은 테이블에 쓰기엔 굳이..? 자주 쓰지 않는 컬럼에 인덱스를 만들면 공간낭비이기 때문 => 자주 쓰는 컬럼에 만들자! 중복 가능성 있는 이름 같은 컬럼보다는 사번, 주민번호 같은 곳에서 사용하는 게 좋다. 인덱스 생성 - ..

Sequence MySQL에는 없고 Oracle에만 존재하는 Object 자동으로 고유한 번호를 반환해주는데 MySQL의 Auto-increment와 비슷하다. - 사용방법 : 시퀀스명.nextval, 시퀀스명. currval - 정의방법 : CREATE sequence, ALTER sequence, DROP sequence 시퀀스 생성 CREATE SEQUENCE dept_id_seq INCREMENT BY 10 START WITH 320 MAXVALUE 1000; 시퀀스명.NEXTVAL : 사용가능한 다음 시퀀스값 반환 (작업할 때 주로 사용) INSERT INTO departments VALUES (dept_id_seq.nextval, 'XXX', 108, 1700); 시퀀스명.CURRVAL : 현..

스프링 프레임워크(Spring Framework) 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로 동적인 웹사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다. JSP보다 더 넓은 환경에서 빠르게 개발할 수 있다. 프레임워크 일종의 틀로 정해진 곳에 코드를 넣는 식으로 이해하면 된다. 스프링 프레임워크 동작순서 요청 Request => DispatcherServlet (web.xml) => HandlerMapping (servlet-context.xml) => 요청처리 Controller [Controller => Service => DAO => DB => DAO => Service => Controller] => DispatcherServlet => ViewResolver => View =..

MVC 구조는 Model, View, Controller로 구성된 구조로 사용 시 웹페이지를 구성하는 요소들끼리의 간섭없이 독립적으로 개발 가능하다. 모델 뷰에 출력할 데이터, 사용자가 입력한 데이터나 출력할 데이터를 다룬다. 데이터의 상태가 변경되면 모델은 뷰나 컨트롤러에 알린다. 뷰 앱이 데이터를 보여주는 방식을 정의한다. 사용자에게 출력할 화면을 만든다(html 생성) 컨트롤러 모델과 뷰 사이에 있는 컴포넌트로 모델이 데이터를 어떻게 처리할지 알려준다(모델과 뷰를 결정해 전달하는 조정자 역할) 모델을 통해 데이터를 가져오고 해당 데이터를 바탕으로 출력을 담당하는 뷰를 제어해 사용자에게 전달한다. MVC2는 MVC1를 보완한 아키텍처로 각각 모듈화되어있어 유지보수가 쉽다.

Flashback은 삭제했던 테이블을 다시 부를 수 있는 기능으로 오라클에서만 지원한다. VIEW나 SEQUENCE 같은 다른 Object는 지원하지 않는다. 오라클 DBMS는 휴지통에 삭제한 데이터를 넣어놓는데, 우선 테이블을 삭제해보자! 휴지통을 보여줘! - Recyclebin SHOW RECYCLEBIN; SELECT original_name, opration, droptime FROM RECYCLEBIN; 테이블을 Recyclebin에서 꺼내줘! - Flashback FLASHBACK TABLE emp2 TO BEFORE DROP; - 삭제한 테이블을 되살리면 NN 제약조건을 제외한 나머지는 사라지니 다시 추가해야한다! - 되살린 테이블은 제약조건명도 바꿔버린다(BIN$~이 있는 제약조건명) 다시..

Table - 사용방법(DQL -데이터 질의어, DML) : select / insert / update / delete - 정의방법 DDL : create / alter / drop / truncate View 테이블을 기반으로 생성, DB사전에 select 구문으로 정의만 되어있는 가상의 논리적인 테이블 목적 : 보안성, 다양성, 단순성, 편의성, 공간효율성 - 사용방법 : select / insert / update / delete - 정의방법 : create [ or replace ] / drop CREATE [ OR REPLACE ] [ FORCE | NOFORCE ] VIEW view [(alias[, alias]...)] AS subquery 수정을 원할 시 create or replace ..