클래스 소개
#JPA #SPRINGDATA #스프링데이터 #인터페이스 #DB #연동 #취업대비과정 #실무
교육 대상
스프링부트 with JPA
JPA(Java Persistence API)란 자바의 ORM을 위한 표준 기술을 의미합니다.
그에 앞서 ORM(Object-Relational Mapping)은 객체와 관계형 DB를 맵핑하는 것을 의미하는데요.
DB의 특정한 테이블을 자바의 객체로 맵핑되어 일일이 SQL문을 작성하지 않고도 곧 바로 객체로 구현할 수 있도록 하는 프레임워크죠.
정리해보자면 JPA라는 것은 자바 ORM에 대한 API 표준 명세를 뜻하면서 인터페이스 모음입니다.
구현체가 별도로 없기에 이를 활용하고자 한다면 ORM 프레임워크를 선택해야 합니다.
JPA의 대표적인 ORM프레임워크를 꼽아보자면 Hibernate, Spring JPA, EcliplseLink등이 있어요.
그렇다면 JPA는 왜 사용해야 하는 것일까요?
우선 생선성 입니다. 반복적인 작업을 JPA를 통해 편리하게 적용이 가능하게 되죠.
개발자가 번거롭게 반복적인 코드를 작성하지 않아도 되고, DDL문도 자동 생성되기 때문에 객체 중심의 설계가 가능하다는 이점이 있어요.
유지보수의 편리성도 한몫하는데요. 단순 필드 하나만 추가하더라도, 이를 적용하기 위한 SQL, JDBC등 관련 코드를 전부 적용시켜줘야 하지만, JPA는 이러한 과정을 대신 처리해주기에 유지보수의 편리성이 증대되기도 해요.
여기에 다양한 패러다임의 불일치를 해결해주고, 애플리케이션과 DB 사이의 추상화된 데이터 접근을 제공해서 벤더의 독립성을 보장하며, 성능 또한 최적화 되도록 제공합니다.
그렇기에 데이터 저장기술을 고려해볼 때 JPA의 활용을 선택지로 놓고 고려하게 되죠.
그에 앞서 ORM(Object-Relational Mapping)은 객체와 관계형 DB를 맵핑하는 것을 의미하는데요.
DB의 특정한 테이블을 자바의 객체로 맵핑되어 일일이 SQL문을 작성하지 않고도 곧 바로 객체로 구현할 수 있도록 하는 프레임워크죠.
정리해보자면 JPA라는 것은 자바 ORM에 대한 API 표준 명세를 뜻하면서 인터페이스 모음입니다.
구현체가 별도로 없기에 이를 활용하고자 한다면 ORM 프레임워크를 선택해야 합니다.
JPA의 대표적인 ORM프레임워크를 꼽아보자면 Hibernate, Spring JPA, EcliplseLink등이 있어요.
그렇다면 JPA는 왜 사용해야 하는 것일까요?
우선 생선성 입니다. 반복적인 작업을 JPA를 통해 편리하게 적용이 가능하게 되죠.
개발자가 번거롭게 반복적인 코드를 작성하지 않아도 되고, DDL문도 자동 생성되기 때문에 객체 중심의 설계가 가능하다는 이점이 있어요.
유지보수의 편리성도 한몫하는데요. 단순 필드 하나만 추가하더라도, 이를 적용하기 위한 SQL, JDBC등 관련 코드를 전부 적용시켜줘야 하지만, JPA는 이러한 과정을 대신 처리해주기에 유지보수의 편리성이 증대되기도 해요.
여기에 다양한 패러다임의 불일치를 해결해주고, 애플리케이션과 DB 사이의 추상화된 데이터 접근을 제공해서 벤더의 독립성을 보장하며, 성능 또한 최적화 되도록 제공합니다.
그렇기에 데이터 저장기술을 고려해볼 때 JPA의 활용을 선택지로 놓고 고려하게 되죠.
취업을 바탕으로 하는 실무 커리큘럼!
자바 분야의 개발자로 진출하고자 준비하는 분들이라면 여러모로 요구되는 사항이기도 하는
JPA에 관한 활용법을 알차게 담은 클래스!
JPA 프로그래밍 -자바취업대비 기반 스프링부트 마스터과정-은 제목 그대로 취업을 기반으로 구성된 커리큘럼입니다.
스프링부트 프레임워크와 JPA 프로그래밍에 관한 다양한 개요와 방법을 학습하고 이를 체계적으로 적용해나가는데 주안점을 두었습니다.
JPA를 처음 활용하는 분들이라면 반드시 알고 가야하는 가장 기본적인 사용방법부터 시작하여,
CRUD DB연동 과정까지를 학습의 목표로 정립합니다. 이를 통해 우리가 왜 JPA를 공부해야 하며,
이것이 어떠한 무기로 우리에게 활용될 수 있는지를 얻을 수 있습니다.
취미가 아닌 취업! 철저한 실무를 기반하는 JPA 클래스!
자바 분야로 준비중인 모든 개발자 분들께 강력 추천 드립니다!!
JPA에 관한 활용법을 알차게 담은 클래스!
JPA 프로그래밍 -자바취업대비 기반 스프링부트 마스터과정-은 제목 그대로 취업을 기반으로 구성된 커리큘럼입니다.
스프링부트 프레임워크와 JPA 프로그래밍에 관한 다양한 개요와 방법을 학습하고 이를 체계적으로 적용해나가는데 주안점을 두었습니다.
JPA를 처음 활용하는 분들이라면 반드시 알고 가야하는 가장 기본적인 사용방법부터 시작하여,
CRUD DB연동 과정까지를 학습의 목표로 정립합니다. 이를 통해 우리가 왜 JPA를 공부해야 하며,
이것이 어떠한 무기로 우리에게 활용될 수 있는지를 얻을 수 있습니다.
취미가 아닌 취업! 철저한 실무를 기반하는 JPA 클래스!
자바 분야로 준비중인 모든 개발자 분들께 강력 추천 드립니다!!
수강기간 / 환불정책 안내
학습 규정 안내
- 본 클래스는 총 115차시, 43시간22분 분량으로 구성되어 있습니다.
- 해당 클래스는 사전 공지 없이 가격, 할인 정책등이 변동 될 수 있습니다.
(1) 학습 기간
- 수강 가능 기간은 1년(365일)이며 해당 기간 동안 자유롭게 학습 하실 수 있습니다.
유료수강기간(환불산정기간)은 최초 1개월 (30일)입니다. - 유/무료 수강기간 모두 동일한 환경으로 학습이 가능합니다.
- 수강 시작일(유료 수강기간)은 결제일로부터 기간이 산정되며, 결제를 완료하시면 ‘내 강의실’을 통해 확인 가능합니다.
- 이지업클래스의 사정으로 인해 수강 시작이 늦어진 경우에는 해당 일정 만큼의 수강기간이 연장됩니다.
(2) 환불 규정
- 이지업클래스의 환불규정은 아래와 같습니다.
* 전액환불- 수강 시작 후 14일 이내, 5차시 & 5%(시간) 미만 수강 시
- 수강 시작 후 14일 이내, 10차시 & 10% 미만 시간 수강시: 실 결제금액의 2/3을 환불
- 수강 시작 후 14일 이내, 15차시 & 15% 미만 수강시: 실 결제금액의 1/3을 환불
- 요청일 기준 수강 시작 후 15일 초과 또는 15차시 또는 15% 이상 수강시 : 환불금액 없음
(3) 주의 사항
- 본 강의는 상황에 따라 사전 공지나 안내 없이 할인이 조기 마감 또는 연장 될 수 있습니다.
- 천재지변, 폐업 등 서비스 중단이 불가피한 상황에는 사전 안내 없이 종료될 수 있습니다.
- 무제한 강의의 경우, 내 강의실 수강기간 연장 신청을 통해 무제한으로 연장 가능합니다.
- 구매한 무제한 강의의 연장 진행을 하지 않아 종료될 경우 복구되지 않습니다.
- 강의 컨텐츠는 향후 이지업클래스의 사정에 따라 추가 또는 업데이트 될 수 있습니다
이 강의를 담당하시는 강사님을 소개합니다
김동준
- 전반적인 이해와 구연방식을 폭넓게 학습이 가능하며 취업기반의 커리큘럼 입니다.
- JPA프로그래밍 데이터베이스 연동 과정에 대한 세부적인 구성을 학습하는 클래스입니다.
- 이론과 실습을 충분히 병행하는 레퍼런스로 구성되어 있는 과정입니다.
‘안녕하세요. 김동준 강사 입니다.’
JPA 프로그래밍 실무 클래스를 담당하고 계신 김동준 강사님은 전문 분야 출신의 이론과 현장 경 험을 바탕으로 다양한 업계에서 많은 인재들을 지도해주고 계십니다.
- JPA프로그래밍 데이터베이스 연동 과정에 대한 세부적인 구성을 학습하는 클래스입니다.
- 이론과 실습을 충분히 병행하는 레퍼런스로 구성되어 있는 과정입니다.
‘안녕하세요. 김동준 강사 입니다.’
JPA 프로그래밍 실무 클래스를 담당하고 계신 김동준 강사님은 전문 분야 출신의 이론과 현장 경 험을 바탕으로 다양한 업계에서 많은 인재들을 지도해주고 계십니다.
주요 이력
- 제이에스미디어 웹에이전시 팀장- 인터넷교육방송 팀장
- 한훈직업전문학교 온라인 팀장
- 다수의 직업훈련학교 등 강의
커리큘럼
맛보기 영상 | |
01_기본개념 및 기본사용법 | |
1강 강의개요 | |
2강 스프링부트와 JPA 학습에서 필요한 개념들 | |
3강 프레임워크란 무엇인가(1) | |
4강 프레임워크란 무엇인가(2) | |
5강 프레임워크란 무엇인가(3) | |
6강 ORM은 무엇인가 | |
7강 JPA란 무엇인가(1) | |
8강 JPA Interface란 무엇인가 | |
9강 JPA 장점과 단점 | |
10강 취업이나 이직을 위해서는 JPA를 공부해야 하는가 | |
11강 DB 연동시 MyBatis와 JPA는 다른 건가요 | |
12강 스프링부트 JPA 학습을 위한 필요한 프로그램 | |
13강 스프링부트 JPA 학습을 위한 STS 툴 설치하기 | |
14강 STS 개발 툴 실행하기 및 기본 설정 사항들 익히기 | |
15강 패키지 프리젠테이션 변경과 정적파일 생성법 | |
16강 자동완성 UTF8 값 변경과 static templates 폴더 용도 및 Customize Perspective 사용법 | |
17강 프로젝트 생성 및 브라우저 실행과 페이지 출력(1) | |
18강 프로젝트 생성 및 브라우저 실행과 페이지 출력(2) | |
02_모델과 타임리프 연동 | |
19강 프로젝트 폴더 구조(1) - src 폴더와 단축경로 | |
20강 프로젝트 폴더 구조(2) - 프로젝트 관리 툴 | |
21강 templates 폴더와 컨트롤러 역할 | |
22강 templates 폴더와 컨트롤러 역할 - 실행 및 오류 해결하기 | |
23강 스프링부트 프레임워크 MVC 패턴(1) | |
24강 스프링부트 프레임워크 MVC 패턴(2) | |
25강 템플릿 폴더 변경 및 타임리프 파일 캐시 설정 변경하기 | |
26강 모델(model)과 타임리프(thymeleaf) 연동(1) | |
27강 모델(model)과 타임리프(thymeleaf) 연동(2) - 변수 빈 값 체크하기 | |
28강 모델(model)과 타임리프(thymeleaf) 연동(3) - 변수 빈 값 체크하기 th-if | |
29강 모델(model)과 타임리프(thymeleaf) 연동(4) - model | |
30강 모델(model)과 타임리프(thymeleaf) 연동(5) - ModelAndView | |
31강 모델(model)과 타임리프(thymeleaf) 연동(6) - 파라미터 전달1(PathVariable) | |
32강 모델(model)과 타임리프(thymeleaf) 연동(7) - 파라미터 전달2 | |
33강 모델(model)과 타임리프(thymeleaf) 연동(8) - 파라미터 전달3 ModelAndView | |
34강 모델(model)과 타임리프(thymeleaf) 연동(9) - 파라미터 전달4 | |
35강 Form 값 전달하고 받기(1) | |
36강 Form 값 전달하고 받기(2) | |
03_데이터 처리 | |
37강 여러 개의 Form 값 전달하고 받기 - 하나씩 전달하여 받기의 문제점 | |
38강 여러 개의 Form 값 전달하고 받기 - DTO 활용 | |
39강 여러 개의 Form 값 전달하고 받기 - DTO 활용 - 에러 원인 찾기 및 해결 방법 | |
40강 타임리프 유틸리티 메서드 사용법 - equals() | |
41강 타임리프 유틸리티 메서드 사용법 - isEmpty() contains() | |
42강 타임리프 유틸리티 메서드 사용법 - th if 조건과 th block 함께 사용 | |
43강 타임리프 유틸리티 메서드 사용법 - with 변수 사용하기(1) | |
44강 타임리프 유틸리티 메서드 사용법 - with 변수 사용하기(2) | |
45강 체크박스 Form 값 전달하고 받기 - 개념 | |
46강 체크박스 Form 값 전달하고 받기 - 실습1 | |
47강 체크박스 Form 값 전달하고 받기 - 실습2 | |
48강 체크박스 Form 값 배열로 받아서 뷰페이지단에 리스트로 반복 출력하기 | |
49강 여러 개의 Form 값 전달하고 받기(1) | |
50강 여러 개의 Form 값 전달하고 받기(2) | |
51강 여러 개의 Form 값 전달하고 받기(3) - th checked 속성 처리하기 | |
52강 여러 개의 Form 값 전달하고 받기(4) - radio, select, checkbox single | |
04_MySQL 데이터베이스 연동 | |
53강 MySQL 다운로드 및 설치 가이드 | |
54강 MySQL 기본 사용법 - 캐릭터셋 UTF8MB4, root 패스워드 변경, 기본 쿼리 | |
55강 MySQL 커맨드 모드 - 기본 쿼리 실습(1) | |
56강 MySQL 커맨드 모드 - 기본 쿼리 실습(2) | |
57강 MySQL 커맨드 모드 - 기본 쿼리 실습(3) | |
58강 MySQL 커맨드 모드 - 기본 쿼리 실습(4) - DB명 바꾸기 | |
59강 MySQL 커맨드 모드 - 기본 쿼리 실습(5) - 테이블 속성 변경하기 | |
60강 MySQL 커맨드 모드 - 기본 쿼리 실습(6) - 테이블 필드 추가하기 | |
61강 JPA 데이터베이스 CRUD 연동 - 기본환경 설정 | |
62강 JPA 데이터베이스 CRUD 연동 - 타임리프 설정 | |
63강 JPA 데이터베이스 CRUD 연동 - 메인페이지 CSS 꾸미기(1) | |
64강 JPA 데이터베이스 CRUD 연동 - 메인페이지 CSS 꾸미기(2) | |
65강 JPA 데이터베이스 CRUD 연동 - controller 만들기, 등록 폼 만들기 | |
66강 JPA 데이터베이스 CRUD 연동 - DTO 만들기(1) | |
67강 JPA 데이터베이스 CRUD 연동 - DTO 클래스와 Entity 클래스 용도에 대한 이해 | |
68강 JPA 데이터베이스 CRUD 연동 - DTO 만들기(2) | |
69강 JPA 데이터베이스 CRUD 연동 - DB save(1) | |
70강 JPA 데이터베이스 CRUD 연동 - DB save(2) | |
05_JPA CRUD 연동 | |
71강 JPA 데이터베이스 CRUD 연동 - 패키지 폴더 구성과 수정 처리 메커니즘 | |
72강 JPA 데이터베이스 CRUD 연동 - memberList 페이지 연동 | |
73강 JPA 데이터베이스 CRUD 연동 - 수정 처리(1) | |
74강 JPA 데이터베이스 CRUD 연동 - 수정 처리(2) | |
75강 JPA 데이터베이스 CRUD 연동 - 삭제 처리 | |
76강 JPA 데이터베이스 CRUD 연동 - 회원 상세 페이지 | |
77강 Pageable 객체를 이용한 리스트 페이지 Paging 구현하기 - 개념 | |
78강 Pageable 객체를 이용한 리스트 페이지 Paging 구현하기 - 실습(1) | |
79강 Pageable 객체를 이용한 리스트 페이지 Paging 구현하기 - 실습(2) | |
80강 Pageable 객체를 이용한 리스트 페이지 Paging 구현하기 - 실습(3) 페이징 메서드들 | |
81강 Pageable 객체를 이용한 리스트 페이지 Paging 구현하기 - 실습(4) 뷰페이지 페이징 구현 | |
82강 Pageable 객체를 이용한 리스트 페이지 Paging 구현하기 - 실습(5) 다음페이지 이동 | |
83강 Pageable 객체를 이용한 리스트 페이지 Paging 구현하기 - 실습(6) 이전페이지 이동 | |
84강 Pageable 객체를 이용한 리스트 페이지 Paging 구현하기 - 실습(7) size 설정 | |
06_JPA 검색 및 정렬 | |
85강 JPA 데이터베이스 연동 - 검색 기능 구현(1) | |
86강 JPA 데이터베이스 연동 - 검색 기능 구현(2) | |
87강 JPA 데이터베이스 연동 - 검색 기능 구현(3) - 카테고리별 검색 | |
88강 JPA 데이터베이스 연동 - 검색 기능 구현(4) - PageableDefault 값 설정하기 | |
89강 JPA 데이터베이스 연동 - 검색 기능 구현(5) - LIKE 검색 | |
90강 JPA 데이터베이스 연동 - 검색 기능 구현(6) - LIKE 검색 StartsWith EndsWith | |
91강 JPA 데이터베이스 연동 - 검색 기능 구현(7) - 대소문자 구분1 | |
92강 JPA 데이터베이스 연동 - 검색 기능 구현(7) - 대소문자 구분2 | |
93강 JPA 데이터베이스 연동 - 검색 기능 구현(8) - and 쿼리 조건 만들기 | |
94강 JPA 데이터베이스 연동 - 검색 기능 구현(9) - or 쿼리 조건 만들기 | |
95강 JPA 정렬 쿼리 메서드 만들기(1) | |
96강 JPA 정렬 쿼리 메서드 만들기(2) | |
97강 JPA 정렬 쿼리 메서드 만들기(3) - 나이가 20살 이하인 회원들을 이름으로 내림차순 정렬하시오 | |
07_Query 애너테이션 및 JPQL | |
98강 JPA 정렬 쿼리 메서드 만들기3 - 특정 이름이 들어간 회원을 검색하고 검색 시 페이징도 구현하시오 | |
99강 JPA 정렬 쿼리 메서드 만들기4 - PageRequest.of() 메서드 사용법(1) | |
100강 JPA 정렬 쿼리 메서드 만들기4 - PageRequest.of() 메서드 사용법(2) | |
101강 JPA 정렬 쿼리 메서드 만들기4 - PageRequest.of() 메서드 사용법(3) | |
102강 JPA 정렬 쿼리 메서드 만들기4 - PageRequest.of() 메서드 사용법(4) - 다중 정렬 | |
103강 @Query 애너테이션을 이용하여 쿼리를 작성하는 법 - 기본개념 | |
104강 @Query 애너테이션을 이용하여 쿼리를 작성하는 법 - 실습1 | |
105강 @Query 애너테이션을 이용하여 쿼리를 작성하는 법 - 실습2 | |
106강 @Query 애너테이션을 이용하여 쿼리를 작성하는 법 - 실습3 | |
107강 @Query 애너테이션을 이용하여 쿼리를 작성하는 법 - 실습4 (정렬 시 주의사항) | |
108강 JPQL 다양한 사용법(1) | |
109강 JPQL 다양한 사용법(2) | |
110강 JPQL 다양한 사용법(3) - LIKE 콜론 파라미터 바인딩 | |
111강 EXISTS, COUNT 쿼리 메서드, 순수 SQL 사용하기 - 개념 | |
112강 EXISTS, COUNT 쿼리 메서드, 순수 SQL 사용하기 - 실습1 | |
113강 EXISTS, COUNT 쿼리 메서드, 순수 SQL 사용하기 - 실습2 | |
114강 EXISTS, COUNT 쿼리 메서드, 순수 SQL 사용하기 - 실습3 | |
115강 EXISTS, COUNT 쿼리 메서드, 순수 SQL 사용하기 - 실습4 |