ORM (Object Relational Mapping)
객체지향에서 모든 데이터는 객체이며, 각 객체는 독립된 데이터와 독립된 함수를 지님
하지만 SQL 구조는 데이터는 테이블 단위로 관리되며 객체들을 조회하기 위한 명령어를 사용
ORM은 각 테이블 또는 구분하고자 하는 데이터 단위로 객체를 구현하고, 데이터 간의 관계를 형성
객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 Framework
객체지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용하기 때문에 객체 모델과 관계형 모델간에 불일치가 존재 → ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결
즉, 객체를 통해 간접적으로 데이터베이스 데이터를 다룸
SQL
SQL은 관계형 데이터베이스를 조작하기 위해 만들어진 표준 언어로 데이터베이스 관리 시스템(DBMS)과 통신하기 위한 언어입니다. 1970년대에 SEQUEL이라는 관계형 데이터베이스 조작 언어를 기초로 만들어졌으며, 1980년대부터 ANSI(American Standards Institute)와 ISO 표준을 따르고 있습니다.
SQL의 동작 방식과 특징은 다음과 같습니다.
3.MVC 패턴
M(Model) : 모델은 뷰가 렌더링 하는데 필요한 데이터.
예를 들어 사용자가 요청한 상품 목록이나, 주문 내역.
V(View) : 웹 애플리케이션에서 실제로 보이는 부분.
모델을 사용해 렌더링.
JSP,JSF,PDF, XML등 으로 결과를 표현.
C(Controller) : 사용자의 액션에 응답하는 컴포넌트.
모델을 업데이트하고, 다른 액션 수행.
1.클라이언트(브라우저)의 요청을 DispatcherServlet이 받는다.
2.받은 요청을 처리할 수 있는 Handler의 이름을 HandlerMapping에게 물어본다.
3.HandlerMapping은 요청 URL을 비롯한 여러 요청 정보를 가지고 Handler를 판단한다.
4.DispatcherServlet은 HanlderMapping으로 부터 선택받은 Handler에게 요청을 보낸다.
5.Hanlder는 요청을 적절히 처리하고 응답에서 렌더링해야 하는 View Name을 판단해서 DispatcherServlet에 전송한다.
6.DispatcherServlet은 논리적인 View Name을 View Resolver에 전달한다.
7.View Resolver는 응답에 필요한 View를 생성하여 DispathcerServlet에 보낸다.
8.DispatcherServlet은 해당하는 View에 Model을 전달한다.
9.View는 Model을 참조해서 응답을 생성한다.
10.DispatcherServlet은 생성된 응답을 클라이언트(브라우저)에게 반환한다.
4.느낀점
2주째 스프링 부트 연습을 하고 이제 3주차로 들어간다. JPA에 대해 더욱 깊은 이해가 필요하다고 판단되어서 JPA 강의를 등록하고 기록중이다. 더욱 정진하자