백엔드(Back-End)55 [Java] - 자바 빌드 도구 Maven, Gradle 정리 스프링 프로젝트를 진행함에 따라, 자바에서 많이 사용되고 있는 빌드 도구(Build tool)인 Gradle과 Maven에 대해 정리하고자 한다. 1. 빌드 도구(Build tool)란 무엇일까? 1-1. 빌드(Build) (1) 빌드 과정은 작성된 소스코드를 컴퓨터에서 실행할 수 있는 독립적인 결과물의 형태로 변환하는 과정을 의미한다. (2) 작성된 소스코드(.java), 프로젝트에서 사용된 각각의 파일과 리소스를 자바 가상 머신(Java Virtual Machine)이나 Tomcat같은 WAS(Web Application Server)가 인식할 수 있도록 패키징하는 과정 및 결과물이라고 볼 수 있겠다. (3) 빌드 과정에서 발생하는 작업 - 종속성 다운로드, 소스 코드를 바이너리 코드로 컴파일, 바이.. 2023. 10. 19. [MySQL] - MySQL이란?, 관계형 데이터베이스의 정의와 여러 가지 특징, 트랜잭션 정리 1. MySQL 1-1. MySQL이란? (1) MySQL은 전세계적으로 많이 사용되는 오픈소스 기반 관계형 데이터베이스를 말하며 다중 스레드와 사용자 구조 질의어(SQL, Structured Query Language) 형식의 데이터베이스 관리 시스템으로 현재는 오라클(Oracle) 재단이 MySQL을 관리 및 유지보수하고 있다. (2) 이러한 MySQL은 대규모의 웹 애플리케이션, 서버 개발에서 많이 사용되며 대규모의 웹 애플리케이션에서 발생하는 많은 데이터들을 구조화하고 관리할 수 있다. (3) 관계형 데이터베이스인 특징에 따라 데이터들을 테이블 형태로 관리하며 컬럼(Column)과 로우(Row) 형태로 데이터들을 관리하고 저장할 수 있다. 컬럼에는 데이터에 대한 속성과 테이블의 구조를 정의하고, .. 2023. 10. 18. [Spring Data JPA] - 쿼리 메서드 기능, JPA NamedQuery, Repository 사용자 정의 쿼리 메서드 1. 메서드 이름으로 쿼리 생성 이전 포스팅에서 마지막에 남은 궁금증이 하나 존재했다. 공통 영역을 벗어난 도메인에 특화된 기능들은 어떻게 해결해야 할까? (1) 스프링 데이터 JPA가 제공하는 강력한 쿼리 메서드 기능 3가지가 존재한다. - 메서드 이름을 분석하여 자체적인 쿼리 생성 - 메서드 이름으로 JPA NamedQuery 호출 - @Query 어노테이션을 사용하여 Repository Interface 영역에 직접 쿼리 메서드 정의하기 1-1. 메서드 이름으로 쿼리 생성 (1) 저번 포스팅에서 스프링 데이터 JPA를 상속받지 않았던 MemberJpaRepository에 사용자의 이름을 대상으로 특정 나이보다 나이가 많은 사용자를 조회하는 기능 요구사항이 추가되었다고 가정해 보자. @Reposito.. 2023. 10. 11. [Spring Data JPA] - 공통 인터페이스(Common Interface) 기능, 스프링 데이터 JPA 상속 계층도 1. 순수 JPA 기반 Repository 생성하기 (1) 우선 JPA만을 활용한 Repository를 생성하고 이후 Spring Data JPA의 공통 인터페이스(Common Interface)에 대해 알아본 뒤 이전에 생성했던 JPA 기반 Repository를 스프링 데이터 JPA로 적용해 보고 분석을 진행한다. 1-1. MemberJpaRepository 클래스 정의 package study.datajpa.repository; import jakarta.persistence.EntityManager; import jakarta.persistence.PersistenceContext; import org.springframework.stereotype.Repository; import study.da.. 2023. 10. 9. [Spring Data JPA] - Spring Data, Spring Data JPA는 무엇일까? 1. Spring Data 1-1. Spring Data의 정의 (1) Spring Data JPA를 알아보기 전에 Spring Data가 무엇인지 확인해 보자. (2) Spring Data는 데이터 계층의 엑세스를 단순화하고 효율적으로 처리할 수 있도록 도와주는 프로젝트 집합이다. (3) 이러한 Spring Data는 다양한 데이터베이스와의 상호작용을 간소화해서 개발자가 데이터베이스와 더 효율적으로 통신할 수 있도록 도와주고 있다. (4) Spring Data는 데이터베이스에 대한 다양한 모듈을 제공하고 있고 각 모듈들은 데이터베이스와의 통합을 담당하며 이를 통해 개발함으로써 편리하게 데이터를 다룰 수 있다는 장점이 있다. 1-2. Spring Data의 다양한 모듈과 기능 (1) Repository .. 2023. 10. 6. [JPA] - 객체와 테이블 매핑, 필드와 컬럼 매핑, 기본 키 매핑 들어가기 앞서 JPA에서 핵심이 되는 중요한 요소 (1) 영속성 컨텍스트(Persistence Context) 이해 - 동작적인 측면을 이해하는 것 (2) 객체와 관계형 데이터베이스의 테이블을 올바르게 매핑하는 것 - 설계적인 측면을 이해하는 것 1. 객체와 테이블 매핑하기 1-1. Entity 매핑의 종류 (1) 객체와 테이블을 매핑하는 것 : @Entity, @Table (2) 필드와 컬럼을 매핑하는 것 : @Column (3) 기본 키(Primary Key)를 매핑하는 것 : @Id (4) 연관관계 매핑 : @ManyToOne, @JoinColumn 등... 1-2. @Entity (1) 해당 어노테이션이 적용된 객체(클래스)는 JPA가 관리하게 되는 대상 객체인 엔티티(Entity)가 된다. (2.. 2023. 10. 5. 이전 1 2 3 4 5 6 ··· 10 다음