*mappers.xml 파일 내에서 namespace : Mapper의 전체 경로를 적는다. id : 매퍼 인터페이스와 XML파일을 매칭 시키기 위해서 매퍼 인터페이스의 메소드 명과 XML 파일의 id를 동일하게 작성해줘야 한다. resultType : SQL문을 실행하고 결과값을 어떤 형식으로 반환할지를 나타낸다. 여기서는 *DTO 객체로 반환. 한눈에 볼만한 게 필요해 만들었다. DAO랑 Service가 아직 헷갈리긴 한데 얼추 이해가 돼서 고생한 보람이 있었다. 아래 페이지를 참고하였다. https://dalpaeng00.tistory.com/83 Spring boot - Controller, Service, DAO, Mapper Controller, Service, DAO, Mapper Sprin..
servlet-context.xml web.xml 에서 DispatcherServlet 의 설정을 기록하는 파일 servelt 각자의 Bean들이 모인 공간 => root-context는 공통 ! servlet-context는 개별! web.xml에서 작성한 DispatcherServlet의 설정을 기록하는 파일 웹 어플리케이션에서 클라이언트의 요청을 받기 위한 컨텍스트 설정이며, 요청과 관련된 객체를 정의한다. ex) 어노테이션 (annotation-driven), URL 관련 설정 스프링 MVC에서 어노테이션(@) 사용을 가능하게 한다(기본값) 스캔한 패키지 내부의 클래스 중 Controller 어노테이션을 가진 클래스들을 Controller로 로딩하도록 한..
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를 보완한 아키텍처로 각각 모듈화되어있어 유지보수가 쉽다.