Courses

· Courses/JPA
본 게시글은 김영한님의 [자바 ORM 표준 JPA 프로그래밍 - 기본편]을 수강하며 작성한 글입니다. 1. 영속성 컨텍스트 1 1) JPA에서 가장 중요한 2가지 객체와 관계형 데이터베이스 매핑하기(Object Relational Mapping) 영속성 컨텍스트 2) 앤티티 매니저 팩토리와 앤티티 매니저 앤티티 매니저 팩토리를 통해 클라이언트의 요청이 올 때마다 앤티티 매니저를 생성하고 내부적으로 DB 커넥션을 사용해서 DB에 접근한다. 3) 영속성 컨텍스트 JPA를 이해하는데 가장 중요한 용어이다. 엔티티를 영구 저장하는 환경이라는 뜻이다. EntityManager.persist(entity); persist는 사실 DB에 저장하는 것이 아니라 Entity를 영속성 컨텍스트에 저장한다는 뜻이다. 영속성..
· Courses/JPA
본 게시글은 김영한님의 [자바 ORM 표준 JPA 프로그래밍 - 기본편]을 수강하며 작성한 글입니다. 1. Hello JPA - 프로젝트 생성 IntelliJ 프로젝트 생성을 통해 Maven 기반 프로젝트를 생성한다. 1) Maven 설정 groubId : jpa-basic artifactId : ex1-hello-jpa version : 1.0.0 2) 라이브러리 추가 4.0.0 jpa-basic ex1-hello-jpa 1.0-SNAPSHOT 8 8 UTF-8 org.hibernate hibernate-entitymanager 5.3.10.Final com.h2database h2 2.2.222 s H2database 버전은 PC에 다운받은 버전과 같아야 한다. 3) JPA 설정하기 - persist..
· Courses/JPA
본 게시글은 김영한님의 [자바 ORM 표준 JPA 프로그래밍 - 기본편]을 수강하며 작성한 글입니다. 1. SQL 중심적인 개발의 문제점 1) 무한 반복, 지루한 코드 객체에 새 필드를 추가하게 될 경우 쿼리문을 전부 수정해야 한다. 예를 들어 Member 클래스와 이와 관련된 쿼리문이 존재한다. 만약에 객체에 tel이라는 필드가 새로 추가된다면 이와 연관된 모든 쿼리문을 수정해야 한다. 2. 패러다임의 불일치 객체 vs 관계형 데이터베이스 보통 객체를 관계형 데이터 베이스에 저장한다. 이 과정에서 객체를 SQL로 변환해야 한다. 즉 SQL Mapper 역할을 개발자가 수행한다. 객체와 관계형 데이터베이스의 차이 1. 상속 SQL을 통해 테이블에 저장하는 과정 객체를 분해한다. INSERT INTO **..
본 게시글은 김영한님의 [스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술]을 수강하며 작성한 글입니다. 1. AOP가 필요한 상황 1) AOP가 필요한 상황 모든 메서드의 호출 시간을 측정하고 싶다면? 공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern) 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면? 2) MemberService에 시간 측정하는 로직 추가 package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import org.springframe..
본 게시글은 김영한님의 [스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술]을 수강하며 작성한 글입니다. 1. H2 데이터베이스 설치 1) 실행 H2 Database Engine 설치 다운받은 파일의 압축을 풀고 /h2/bin/으로 이동 h2.sh를 실행시키기 위해 권한 부여 chmod 755 h2.sh h2.sh 실행 ./h2.sh 2) DB 접속 최초 DB 접속 JDBC URL: jdbc:h2:~/test ~/test.mv.db 파일 생성 확인 이후 DB 접속 JDBC URL: jdbc:h2:tcp://localhost/~/test 3) Member 테이블 생성 1. SQL문을 사용하여, 이전의 회원관리 예제에서 사용되던 Member 테이블을 생성한다. create table ..
본 게시글은 김영한님의 [스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술]을 수강하며 작성한 글입니다. 1. 회원 웹 기능 - 홈 화면 추가 1. HomeController 파일 생성 package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { @GetMapping("/") public String home() { return "home"; } } 2. resources/templates/home.html ..
본 게시글은 김영한님의 [스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술]을 수강하며 작성한 글입니다. 스프링 빈을 등록하는 2가지 방법 1. 컴포넌트 스캔과 자동 의존관계 설정 2. 자바 코드로 직접 스프링 빈 등록하기 1. 컴포넌트 스캔과 자동 의존관계 설정 @Component 어노테이션을 붙이면 자동으로 스프링 빈으로 등록되고, 스프링 컨테이너에서 관리된다. @Component를 포함하는 다음 어노테이션도 스프링 빈으로 자동 등록된다. @Controller @Service @Repository 1) Controller → Service MemberController package hello.hellospring.controller; import hello.hellosprin..
본 게시글은 김영한님의 [스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술]을 수강하며 작성한 글입니다. 1. 비즈니스 요구사항 정리 1) 요구사항 데이터: 회원 ID, 이름 기능: 회원 등록, 회원 조회 데이터 저장소: 메모리 기반의 데이터 저장소 사용 2) 웹 어플리케이션 계층 구조 컨트롤러: 웹 MVC의 컨트롤러 역할 서비스: 핵심 비즈니스 로직 구현 리포지토리: DB에 접근하여 도메인 객체를 저장하고 관리 도메인: 비즈니스 도메인 객체 2. 회원 도메인과 리포지토리 만들기 1) 도메인 만들기 /main/java/hello.hellospring 하위에 domain package를 생성하고, Memeber Class를 만든다. package hello.hellospring.do..
jyjyjy25
'Courses' 카테고리의 글 목록 (2 Page)