ORM이란 Object Relational Mapping
말 그대로 객체와 관계형 데이터베이스의 데이터를 맵핑(연결)해주는 것을 말한다.
자바는 객체지향 프로그램으로써 Class를 사용하고 RDB는 테이블을 사용한다.
때문에 이 두 모델간 불일치가 존재하는데 ORM을통해 객체간 관계를 바탕으로
SQL을 자동으로 생성하여 이를 해결해 준다.
자바의 ORM 표준은 JPA 이며 스프링에서는 기본적으로 SpringDataJpa를 사용한다.
SQL Structured Query Language
구조화 질의 언어 로써 관계형 데이터베이스 시스템에서 (RDBMS)
자료를 관리, 처리하기 위해 설계된 언어이다.
SQL문법은 크게 세종류로 다음과 같다.
MVC Model, View, Controller
하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴이다.
정적 웹페이지의 경우 클라이언트의 요청을 Controller가 Model로 받아 처리하고
View(정적 웹페이지) 를 응답한다.
동적 웹페이지의 경우 클라이언트의 요청을 Controller가 Model로 받아 처리하고
ViewResolver 가 동작해 TempletEngine과 연결시켜주어 동적 웹페이지를 응답한다.

1.브라우저에서 local:9090/hello-mvc로 요청함.
2.톰캣에서 요청을 받아 컨테이너로 넘겨줌.
3.컨테이너는 가장먼저 Controller를 살피며 hello-mvc에 맵핑된 @GetMapping()가 있는지 확인하고 맵핑된 helloMvc() 메서드를 호출함.
4.리턴 값인 hello-template을 보내고, 동시에 Model에 키(name), 값(spring)의 데이터를 넣어 보냄.
5.src/main/resources/template에서 View에 해당하는 hello-template.html을 찾아주고 템플릿엔진(thymeleaf)를 연결 시켜주는 뷰 리졸버(viewResolver)가 동작함.
6.템플릿엔진(thymeleaf)은 html파일을 받아 View 템플릿을 변환 후 브라우저에게 넘겨줌.
출처 : https://velog.io/@lim950808/06-MVC%EC%99%80-%ED%85%9C%ED%94%8C%EB%A6%BF-%EC%97%94%EC%A7%84