일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 자바의 정석 기초편 ch12
- 스프링 mvc2 - 타임리프
- 자바의 정석 기초편 ch7
- 자바의 정석 기초편 ch11
- 스프링 mvc1 - 스프링 mvc
- 스프링 고급 - 스프링 aop
- 스프링 입문(무료)
- 자바의 정석 기초편 ch8
- 자바의 정석 기초편 ch9
- 스프링 db2 - 데이터 접근 기술
- 자바의 정석 기초편 ch3
- 2024 정보처리기사 시나공 필기
- jpa 활용2 - api 개발 고급
- 자바의 정석 기초편 ch5
- 타임리프 - 기본기능
- 스프링 mvc2 - 로그인 처리
- 자바의 정석 기초편 ch4
- 자바의 정석 기초편 ch6
- 자바의 정석 기초편 ch2
- @Aspect
- 스프링 db1 - 스프링과 문제 해결
- 스프링 mvc1 - 서블릿
- 자바의 정석 기초편 ch14
- 2024 정보처리기사 수제비 실기
- 게시글 목록 api
- 자바의 정석 기초편 ch13
- 자바의 정석 기초편 ch1
- 스프링 mvc2 - 검증
- 코드로 시작하는 자바 첫걸음
- jpa - 객체지향 쿼리 언어
- Today
- Total
목록전체 글 (347)
나구리의 개발공부기록
출처 : 인프런 - 자바 ORM 표준 JPA 프로그래밍 - 기본편(유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용1. 연관관계 매핑 기초** 실전예제 전까지는 DB URL 설정을 test로 설정하여 실습 1) 목표객체와 테이블 연관관계의 차이를 이해객체의 참조와 테이블의 외래 키의 매핑 방법2) 용어 이해방향(Direction) : 단방향, 양방향다중성(Multiplicity) : 다대일(N:1), 일대다(1:N), 일대일(1:1), 다대다(N:M)이해연관관계의 주인(Owner) : 객체 양방향 연관관계는 관리주인이 필요함3) 연관관계가 필요한 이유객체지향 설계의 목표는 자율적인 객체들의 협력 공동체를 만드는 것이다 - 조영호(객체지향의 사실과 오해)테이블 하나로 표현하고자 ..
출처 : 인프런 - 자바 ORM 표준 JPA 프로그래밍 - 기본편(유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용Entity 매핑 소개객체와 테이블 매핑 : @Entity, @Table필드와 컬럼 매핑: @Column기본 키 매핑: @Id연관관계 매핑: @ManyToOne, @JoinColumn1. 객체와 테이블 매핑1) @Entity@Entity 애노테이션이 붙은 클래스는 JPA가 관리하며 엔터티라고 부르고 JPA를 사용해서 테이블과 매핑할 클래스는 @Entity가 필수임JPA 스펙상 기본 생성자가 필수임(파라미터가 없는 public or protected 생성자)final 클래스, enum, interface, inner 클래스에는 사용 불가저장할 필드에 final 사용..
출처 : 인프런 - 자바 ORM 표준 JPA 프로그래밍 - 기본편(유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용1. 영속성 컨텍스트JPA를 이해하는데 가장 중요한 용어엔터티를 영구 저장하는 환경이라는 뜻EntityManager.persist(entity); -> DB에 저장하는 것이 아니라 엔터티를 영속성 컨텍스트에 저장한다는 뜻1) 엔터티매니저, 영속성 컨텍스트영속성 컨텍스는 논리적인 개념이기에 눈에 보이지 않으며 엔터티 매니저를 통해 영속성 컨텍스트에 접근함엔터티 매니저를 생성하면 1:1로 영속성 컨텍스트가 생성된다고 이해하면 됨되며 스프링 프레임워크같은 컨테이너 환경에서는 엔터티매니저와 영속성 컨텍스트가 N:1로 생성됨2) 엔터티의 생명주기(1) 비영속 (new/tra..
출처 : 인프런 - 자바 ORM 표준 JPA 프로그래밍 - 기본편(유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용1. SQL 중심적인 개발의 문제점 및 소개스프링 DB 2편 - JPA강의 내용과 중복, https://nagul2.tistory.com/3162. 프로젝트 생성 - HelloJPA** 참고실무에서는 프로젝트를 띄울 때 스프링과 통합해서 사용하다보니(스프링부트로 프로젝트를 생성) 스프링이 버전관리를 해주지 않는 라이브러리들의 버전은 사용할 스프링부트 버전의 doc에서 Dependency Versions에 들어가서 버전을 맞춰서 설치Dependency Versions -> Managed Dependency Coordinates에 들어가면 확인할 수 있음https://..
출처 : 인프런 - 실전! 스프링 부트와 JPA활용1 - 웹 애플리케이션 개발(유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 1. 홈 화면과 레이아웃1) HomeController@Slf4j@Controllerpublic class HomeController { @RequestMapping("/") public String home() { log.info("home controller"); return "home"; }}2) 타임리프 템플릿 등록타임리프 레이아웃을 활용하여 header, footer, bodyheader를 home.html에 삽입하여 출력간단하게 적용하기 위하여 Include Style로 적용하였지만 실무에서 적용할..
출처 : 인프런 - 실전! 스프링 부트와 JPA활용1 - 웹 애플리케이션 개발(유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 1. 주문 및 주문상품 엔터티 개발1) Order - 메서드 추가(1) 생성 메서드, createOrder()주문 엔터티를 생성할 때 사용하며, 주문 회원, 배송정보, 주문상품의 정보를 받아서 실제 주문 엔터티를 생성주문 생성에 대한 복잡한 비즈니스 로직을 엔터티안에 만듦으로써 밖에서 Order를 생성하여 값을 set하는 방식이 아니라 주문 생성이 되면 createOrder를 생성에 필요한 정보 및 설정을함이렇게 생성 메서드를 만들면 생성에 관련한 변경 점이 있을 때 해당 엔터티에서 이 생성메서드만 고치면 되므로 유지 보수성이 좋아지고 코드도 호출..
출처 : 인프런 - 실전! 스프링 부트와 JPA활용1 - 웹 애플리케이션 개발(유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 1. 애플리케이션 구현 준비 - 구현 요구사항 및 애플리케이션 아키텍처1) 구현 요구 사항(1) 회원 기능가입, 조회(2) 상품 기능등록, 수정, 조회(3) 주문 기능주문, 취소주문내역 조회2) 예제를 단순화를 위한 기능 간소화로그인과 권한관리 구현 X파라미터 검증과 예외처리는 단순화상품은 도서만 사용카테고리, 배송 정보는사용 X3) 애플리케이션 아키텍처(1) 계층형 구조 사용controller, web: 웹 계층service: 비즈니스 로직, 트랜잭션 처리repository: JPA를 직접 사용하는 계층, 엔터티 매니저 사용domain: 엔터티가 ..
출처 : 인프런 - 실전! 스프링 부트와 JPA활용1 - 웹 애플리케이션 개발(유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 1. 요구사항 분석(1) 회원 기능회원 등록, 조회(2) 상품 기능상품 등록, 수정, 조회(3) 주문 기능상품 주문, 취소주문 내역 조회(4) 기타 요구사항상품은 재고 관리가 필요상품의 종류는 도서, 음반, 영화가 있음상품을 카테고리로 구분상품 주문시 배송 정보를 입력2. 도메인 모델과 테이블 설계1) 도메인 모델 분석 (1) 회원, 주문, 상품의 관계회원은 여러 상품을 주문할 수 있으므로 회원과 주문의 관계는 일대다 관계한 번 주문할 때 여러 상품을 선택할 수 있으므로 주문과 상품은 다대다 관계인데, 다대다 관계는 관계형 데이터베이스는 물론 엔터티..
출처 : 인프런 - 실전! 스프링 부트와 JPA활용1 - 웹 애플리케이션 개발(유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 1. 프로젝트 생성 (1) Project SettingGradle - GroovyJava 17JarSpring Boot3.3.4group: jpabookArtifact: jpashop(2) DependenciesSpring Data JPASpring WebThymeleafValidation - 스프링 부트 3.x.x 버전부터는 직접 추가해야함LombokB2 Database(3) build.gradleplugins { id 'java' id 'org.springframework.boot' version '3.3.4' id 'io.spring.depen..
출처 : 인프런 - 스프링 DB 2편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-21. 트랜잭션 전파 활용1 - 예제 프로젝트 시작지금 까지 배운 트랜잭션 전파에 대한 내용을 실제 예제를 통해 학습1) 비즈니스 요구 사항회원을 등록하고 조회회원에 대한 변경이력을 추적할 수 있도록 회원 데이터가 변경될 때 변경 사유에 대한 이력을 DB LOG 테이블에 남겨야함예제를 단순화 하기 위해서 회원 등록시에만 DB LOG 테이블에 남기는 것으로 진행2) MemberJPA를 통해 관리하는 회원 엔터티package hello.springtx.p..