Spring Boot & JPA 11

2.10. 결론

1. 프로젝트 요약이번 프로젝트에서는 Spring Boot와 JPA를 활용하여 MySQL 데이터베이스와 연동된 RESTful API를 설계하고 구현했습니다. 간단한 CRUD(Create, Read, Update, Delete) 기능을 통해 데이터베이스 작업을 처리했으며, 계층 구조(Entity, Repository, Service, Controller)를 명확히 구분하여 확장성과 유지보수성을 높였습니다.2. 주요 학습 내용1) Spring Boot와 JPA의 연동Spring Boot의 자동 설정 기능과 JPA의 객체 지향적 데이터 처리를 결합하여 데이터베이스 작업을 간소화했습니다.JPA의 기본 CRUD 메서드와 커스텀 쿼리를 사용해 실질적인 데이터 처리 방법을 익혔습니다.2) RESTful API 설계H..

Spring Boot & JPA 2025.01.03

2.9. Spring Boot와 JPA의 장점

1. Spring Boot와 JPA란?Spring BootSpring Boot는 Spring Framework를 기반으로 한 애플리케이션 개발 도구로, 복잡한 설정 없이 빠르게 독립 실행형(Spring Application) 애플리케이션을 개발할 수 있게 해줍니다. 내장 톰캣, 자동 설정(Auto Configuration), 생산성 향상 도구 등을 제공하여 애플리케이션 개발 시간을 대폭 단축합니다.JPA (Java Persistence API)JPA는 자바 애플리케이션에서 데이터베이스와 상호작용하기 위한 ORM(Object-Relational Mapping) 표준입니다. 엔티티(Entity)와 데이터베이스 테이블 간의 매핑을 제공하며, SQL 작성 없이 데이터베이스 작업을 처리할 수 있습니다.Spring..

Spring Boot & JPA 2025.01.03

2.8. 프로젝트 구조

1. 프로젝트 구조 개요Spring Boot 프로젝트는 명확한 계층 구조를 통해 애플리케이션의 유지보수성과 확장성을 높이는 데 초점이 맞춰져 있습니다. 이번 프로젝트에서는 Spring Boot와 JPA를 활용하여 RESTful API를 구현하며, Entity, Repository, Service, Controller 계층으로 나누어 개발했습니다.2. 전체 디렉터리 구조프로젝트의 디렉터리 구조는 다음과 같습니다:  3. 주요 클래스 설명1) RestfulApiJpaApplication.java역할: Spring Boot 애플리케이션의 진입점.설명: @SpringBootApplication 어노테이션을 통해 Spring Boot 설정을 초기화하고, 애플리케이션 서버를 시작합니다.주요 기능:API 요청을 처리..

Spring Boot & JPA 2025.01.03

2.7. 테스트 및 실행

1. 테스트 및 실행 목표이번 섹션에서는 구현된 RESTful API를 테스트하고, MySQL 데이터베이스와의 연동이 제대로 작동하는지 확인합니다. API 테스트는 Postman과 같은 도구를 사용하며, MySQL Workbench를 통해 데이터베이스 상태를 확인합니다.2. 애플리케이션 실행Spring Boot 애플리케이션을 실행하여 RESTful API 서버를 시작합니다.실행 방법RestfulApiJpaApplication 클래스에서 main() 메서드를 실행합니다애플리케이션이 성공적으로 실행되면, 기본적으로 http://localhost:8080에서 API 서버가 동작합니다.콘솔 확인    애플리케이션 실행 후 콘솔에 출력되는 로그를 확인하여 데이터베이스 연결 및 API 엔드포인트 등록 여부를 점검합..

Spring Boot & JPA 2025.01.03

2.6. RESTful API 컨트롤러 개발

1. RESTful API 컨트롤러란?RESTful API 컨트롤러는 클라이언트로부터 요청을 받고, 비즈니스 로직을 처리하며, 최종적으로 응답을 반환하는 역할을 합니다. Spring Boot에서는 @RestController와 다양한 HTTP 메서드 어노테이션(@GetMapping, @PostMapping, @PutMapping, @DeleteMapping)을 사용하여 컨트롤러를 구현합니다.주요 역할클라이언트 요청 처리 (GET, POST, PUT, DELETE 등)비즈니스 로직 호출 (Service 계층과 연동)HTTP 상태 코드와 데이터를 클라이언트에 반환2. RESTful API 설계이번 프로젝트에서는 CRUD 기능을 위한 RESTful API를 다음과 같이 설계했습니다:HTTP MethodEndp..

Spring Boot & JPA 2025.01.03

2.5. Service 계층 작성

1. Service 계층이란?Service 계층은 비즈니스 로직을 처리하는 중심 역할을 합니다. 컨트롤러와 데이터베이스 사이에서 데이터의 흐름을 관리하며, 데이터 검증, 변환, 추가적인 로직 등을 수행합니다.주요 역할비즈니스 로직 처리: 단순 CRUD 이상의 복잡한 연산이나 데이터 변환.데이터 트랜잭션 관리: 데이터베이스 작업이 원자성을 유지하도록 보장.컨트롤러와 Repository 간의 연결: 컨트롤러에서 요청을 받아 Repository를 통해 데이터 연산 수행. 2. SamTableService 구현SamTableService 클래스는 SamTableRepository를 호출하여 SamTable 엔티티와 관련된 비즈니스 로직을 구현합니다.코드 구현 3. Service 메서드 상세 설명1) getIns..

Spring Boot & JPA 2025.01.03

2.4. Repository 구현

1. Repository란?Repository는 데이터베이스와 상호작용을 담당하는 계층입니다. JPA에서는 JpaRepository 인터페이스를 통해 간단히 CRUD(Create, Read, Update, Delete) 기능을 구현할 수 있습니다. 이를 사용하면 SQL 쿼리를 직접 작성하지 않고도 데이터를 삽입, 조회, 수정, 삭제할 수 있습니다.Repository 계층은 **엔티티(Entity)**와 데이터베이스를 연결하며, 비즈니스 로직(Service 계층)에서 호출되어 데이터를 처리하는 데 사용됩니다.2. SamTableRepository 작성SamTableRepository는 SamTable 엔티티와 매핑된 데이터베이스 테이블 sam_table에 접근하기 위해 생성되었습니다.코드 구현구성 설명Jp..

Spring Boot & JPA 2024.12.29

2.3. JPA Entity 설계

1. JPA Entity란?JPA의 Entity는 데이터베이스의 테이블과 매핑되는 자바 클래스입니다. JPA는 엔티티 객체를 통해 데이터베이스와 상호작용하며, 객체 지향적인 방식으로 데이터를 관리할 수 있게 합니다. 즉, 데이터베이스 테이블의 구조를 자바 객체로 표현한 것이 바로 JPA 엔티티입니다.이번 프로젝트에서는 sam_table이라는 테이블을 매핑하기 위해 SamTable이라는 엔티티 클래스를 작성했습니다.2. SamTable Entity 설계sam_table 테이블은 다음과 같은 구조를 가지고 있다고 가정합니다:Column NameData TypeConstraintskeynoINTPrimary Key, Auto IncrementvalueVARCHARNot Null이 테이블을 매핑하기 위해 JPA..

Spring Boot & JPA 2024.12.29

2.2. 프로젝트 준비

1. Spring Initializr를 사용한 프로젝트 생성Spring Initializr는 Spring Boot 기반 프로젝트를 빠르게 생성할 수 있는 도구입니다. 이번 프로젝트에서는 Spring Initializr를 사용하여 RESTful API와 MySQL 데이터베이스 연동을 위한 기본 템플릿을 생성했습니다.설정 방법Spring Initializr 웹사이트에 접속합니다.아래와 같이 프로젝트 설정을 진행합니다:Project: MavenLanguage: JavaSpring Boot Version: 최신 안정 버전 (예: 3.1.0)Group: com.exampleArtifact: RestfulApiJpaName: RestfulApiJpaDependencies:Spring Web: RESTful API ..

Spring Boot & JPA 2024.12.26

2.1. 소개

프로젝트 개요이번 프로젝트는 Spring Boot와 JPA를 활용하여 MySQL 데이터베이스와 연동된 RESTful API를 개발하는 과정을 다룹니다. 기존의 JDBC 방식 대신 JPA를 사용함으로써 데이터베이스 연동 코드의 가독성을 높이고, 객체 지향적인 데이터 관리를 실현할 수 있었습니다.주요 목표는 다음과 같습니다:Spring Boot를 이용한 RESTful API 서버 개발JPA를 활용한 데이터베이스 테이블과 엔티티 매핑MySQL 데이터베이스와의 연동 및 CRUD 기능 구현Postman을 통해 API 요청 테스트이 프로젝트는 데이터베이스와 상호작용해야 하는 다양한 애플리케이션에 적용될 수 있으며, 특히 데이터 처리의 효율성과 유지보수성을 개선하기 위한 기반을 제공합니다.사용한 기술 스택이번 프로젝..

Spring Boot & JPA 2024.12.26