항해 5주차 스프링 숙련 주차 회고

성민·2023년 2월 19일
1

항해99

목록 보기
9/9

ORM

ORM은 객체 지향 프로그래밍 언어와 관계형 데이터베이스 간의 불일치를 해결하기 위한 기술입니다. 객체는 데이터베이스의 테이블과 연결되며, 객체를 저장하고 검색하는 데 사용할 수 있는 쿼리를 자동으로 생성합니다.

Spring은 여러 ORM 프레임워크를 지원합니다. 이 중 가장 일반적으로 사용되는 것은 Hibernate입니다. Hibernate은 Java Persistence API(JPA) 표준을 구현한 ORM 프레임워크입니다. JPA는 자바 애플리케이션과 관계형 데이터베이스 간의 매핑을 위한 표준 인터페이스를 제공합니다. Hibernate은 JPA를 구현한 구현체 중 하나이며, Spring에서 JPA 구현체로 사용됩니다.

Spring에서 ORM을 사용하는 방법은 크게 두 가지입니다. 첫 번째는 XML 파일을 사용하여 설정하는 방법이며, 두 번째는 Java Config를 사용하는 방법입니다.

XML 파일을 사용하여 설정하는 방법은 다음과 같습니다.

Hibernate나 다른 ORM 프레임워크를 의존성으로 추가합니다.
데이터베이스 연결 정보와 ORM 설정 정보를 XML 파일에 작성합니다.
XML 파일을 프로젝트에 추가하고, 스프링 컨테이너를 구성합니다.
DAO(Data Access Object) 클래스에서 ORM을 사용하여 데이터베이스와 상호 작용합니다.
Java Config를 사용하는 방법은 다음과 같습니다.

Hibernate나 다른 ORM 프레임워크를 의존성으로 추가합니다.
데이터베이스 연결 정보와 ORM 설정 정보를 Java 클래스에 작성합니다.
Java Config를 사용하여 스프링 컨테이너를 구성합니다.
DAO(Data Access Object) 클래스에서 ORM을 사용하여 데이터베이스와 상호 작용합니다.
Spring에서 ORM을 사용하는 방법은 매우 간단합니다. ORM 프레임워크를 의존성으로 추가하고, 데이터베이스 연결 정보와 ORM 설정 정보를 작성한 후 스프링 컨테이너에서 사용하면 됩니다. 이를 통해 개발자는 ORM 설정에 대한 부담을 줄이고, 빠르게 개발할 수 있습니다.

SQL

SQL(Structured Query Language)은 관계형 데이터베이스에서 데이터를 관리하기 위한 표준적인 프로그래밍 언어입니다. SQL은 데이터의 추가, 수정, 삭제, 검색과 같은 작업을 수행하는 명령어로 이루어져 있습니다. SQL 명령어는 DDL(Data Definition Language), DML(Data Manipulation Language), DCL(Data Control Language)로 구분됩니다.

DDL은 데이터베이스 스키마를 정의하는 명령어로, CREATE, ALTER, DROP과 같은 명령어를 포함합니다. DML은 데이터를 조작하는 명령어로, SELECT, INSERT, UPDATE, DELETE와 같은 명령어를 포함합니다. DCL은 데이터베이스 보안 및 권한 관리를 위한 명령어로, GRANT, REVOKE와 같은 명령어를 포함합니다.

SQL은 데이터베이스의 구조와 데이터를 조작하는 데에 유용하며, 다양한 데이터베이스 관리 시스템에서 사용됩니다. SQL은 기존의 데이터를 쉽게 검색하고 관리할 수 있는 강력한 도구로, 데이터베이스 개발 및 관리에서 필수적인 기술입니다.

MVC

MVC 패턴은 애플리케이션의 구성 요소를 모델, 뷰, 컨트롤러 세 가지로 분리하여 각각의 역할을 분담하는 패턴입니다. 모델은 데이터를 처리하는 부분으로, 데이터베이스나 파일에서 데이터를 읽고 쓰는 등의 작업을 수행합니다. 뷰는 사용자에게 보여지는 부분으로, HTML, JSP 등의 템플릿을 통해 클라이언트에게 결과를 보여줍니다. 컨트롤러는 사용자의 요청을 받아 모델과 뷰를 연결하는 부분으로, 사용자의 요청을 처리하고 적절한 모델과 뷰를 선택하여 결과를 반환합니다.

Spring MVC는 이러한 MVC 패턴을 기반으로 한 웹 애플리케이션 개발을 지원합니다. Spring MVC에서는 컨트롤러가 중심적인 역할을 담당하며, HTTP 요청을 처리하고, 모델과 뷰를 연결하여 결과를 반환합니다. 또한, 스프링은 다양한 뷰 템플릿을 지원하므로, 개발자는 원하는 템플릿 엔진을 선택하여 사용할 수 있습니다.

Spring MVC는 간단한 설정만으로 빠르게 개발을 시작할 수 있으며, 다양한 기능과 라이브러리를 제공하여 유연하게 개발할 수 있습니다. 또한, 스프링의 다양한 기능과 연동하여 사용할 수 있기 때문에, 개발자는 더욱 쉽고 빠르게 개발할 수 있습니다.

M은 Model이며, 데이터를 처리하는 부분을 의미합니다. Model은 보통 비즈니스 로직, 데이터베이스 연동, 데이터 처리 등과 같은 역할을 수행합니다. Model은 컨트롤러로부터 요청을 받아 필요한 데이터를 가공하거나 데이터베이스와 상호 작용하여 데이터를 가져옵니다. 그리고 가져온 데이터를 뷰로 전달하거나 결과를 생성합니다.

V는 View이며, 사용자에게 결과를 표시하는 부분을 의미합니다. View는 HTML, JSP, Thymeleaf와 같은 템플릿을 사용하여 생성됩니다. View는 Model이 처리한 데이터를 사용하여 사용자 인터페이스를 생성하고, 컨트롤러로부터 전달받은 결과를 화면에 표시합니다.

즉, Spring MVC에서 M은 데이터를 처리하고, V는 결과를 보여주는 역할을 합니다. 이 둘을 연결해주는 부분이 C(Controller)이며, 컨트롤러는 사용자의 요청을 처리하고, Model과 View를 연결하여 사용자에게 결과를 반환합니다. 이렇게 분리된 M, V, C는 애플리케이션의 유지 보수와 확장성을 높여주는 장점을 가지고 있습니다.

0개의 댓글