BEST
개발 · 프로그래밍

/

백엔드

자바 ORM 표준 JPA 프로그래밍 - 기본편

JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다.

(5.0) 수강평 1,732개

수강생 22,405명

Thumbnail

스프링 DB 접근 기술 오픈 예정 소식!

안녕하세요. 여러분^^!
드디어 스프링 DB 접근 기술 강의가 오픈 준비에 돌입했습니다. 오랜기간 기다려주시고 응원해주셔서 감사합니다.

DB 데이터 접근 기술 전반의 방대한 분량을 다루다 보니, 강의 분량이 140강을 넘을 정도로 많아졌습니다.
이대로 계속 준비하면 출시가 너무 늦어질 것 같아서 강의를 2개로 나누어 출시하기로 했습니다.

1. 스프링 DB 1편 - 데이터 접근 핵심 원리
2. 스프링 DB 2편 - 데이터 접근 활용 기술

출시 예정일은 4월 12일(화) ~ 4월 19(화) 사이에 1편이 출시될 예정입니다^^!
(2편은 5월말 출시 예정입니다.)

이번 DB 접근 기술 강의도 오랜기간 열심히 준비했습니다. 기대해주셔도 좋습니다.

- 강의명: 스프링 DB 1편 - 데이터 접근 핵심 원리
- 강의 수: 54강
- 설명 그림: 약 80장
- 강의 자료 PDF: 약 200장

 

자세한 강의 소개는 다음 내용을 참고해주세요.

스프링 DB 1편 - 데이터 접근 핵심 원리

데이터 접근 기술

현대의 애플리케이션은 대부분 웹 환경에서 동작하는 웹 애플리케이션입니다.
단순하게 생각하면 웹 애플리케이션은 크게 3가지 기능을 수행합니다.

  1. 웹이나 앱 같은 클라이언트의 요청을 받아서 처리하는 기능 - 컨트롤러
  2. 비즈니스 로직을 수행하는 기능 - 서비스
  3. 수행 결과를 데이터베이스에 보관하고 관리하는 기능 - 리포지토리

우리는 앞서 스프링 MVC 강의를 통해 클라이언트의 요청을 받아서 처리하는 방법을 학습했습니다. 이번에는 그 이후 단계인 비즈니스 로직을 수행하는 서비스와 수행 결과를 데이터베이스에 보관하고 관리하는 리포지토리에 대해 깊이있게 학습합니다.

클라이언트의 요청을 받아서 처리하는 기능은 스프링 MVC를 사용합니다. 비즈니스 로직을 수행하는 기능은 순수한 자바 코드로 만들어집니다. 마지막으로 수행 결과를 데이터베이스에 보관하고 관리하는 기능은 JDBC, JdbcTemplate, MyBatis, JPA와 같은 다양한 기술들을 선택해서 사용합니다. 그리고 스프링이 제공하는 DB 데이터 접근 기술을 사용하면 이러한 기술들을 스프링과 통합해서, 매우 편리하게 사용할 수 있습니다.

데이터 접근 기술을 학습하기 어려운 이유

애플리케이션에서 데이터베이스에 데이터를 보관하고 관리하기 위해서는 다양한 데이터 접근 기술을 학습해야 합니다. 이러한 데이터 접근 기술을 학습하기 어려운 대표적인 이유는 다음 3가지 때문입니다.

1. 데이터베이스 기반 지식이 약하다
모든 데이터 접근 기술은 데이터베이스에 데이터를 보관하고 관리하기 위한 것입니다. 따라서 데이터베이스에 대한 기본 이해가 필요합니다. 이 강의를 학습하기 전에 데이터베이스와 SQL에 대한 기본 내용을 학습하시길 바랍니다.

2. 데이터 접근 기술이 너무 다양하다
JDBC부터 시작해서 SQL 매퍼라고 불리는 JdbcTemplate이나 MyBatis 같은 기술부터 ORM 기술인 JPA, 스프링 데이터 JPA, Querydsl 같은 최신 기술까지 정말 다양한 데이터 접근 기술들이 있습니다. 너무 다양한 기술들이 존재해서, 각각의 기술들이 어떤 장단점이 있고, 어떤 상황에 어떤 기술들을 사용하면 좋은지 명확하게 이해하고 사용하기는 쉽지 않습니다.

3. 데이터 접근 기술의 역사가 너무 오래 되었다
JDBC부터 시작한 데이터 접근 기술은 이미 20년이 넘었습니다. 그동안 데이터 접근 기술의 발전은 물론이고, 스프링은 이러한 데이터 접근 기술들을 더욱 편리하게 사용하도록 돕기 위해 수 많은 기능을 발전시키고, 개선해왔습니다. 그래서 지금은 너무 많은 것이 자동화되고, 추상화 되어버렸습니다. 특히 최근에 개발을 시작한 백엔드 개발자들은 데이터 접근 기술을 사용할 때 왜 이런 방식으로 기능이 동작하는지 정확한 이유를 모르고, 단순히 사용법 위주로 사용하게 됩니다. 왜 이런 방식으로 사용하지?라고 의문을 가져도 과거에 어떤 불편한 문제 때문에 지금 이런 방식으로 개선되고 사용하는지 과거의 문맥을 제대로 이해하고 사용하기는 어렵습니다.

강의 특징

데이터 접근 기술의 시작인 JDBC 부터 최신 실무 기술까지
이 강의는 20년 전으로 돌아갑니다. 데이터 접근 기술의 시작인 JDBC를 시작으로, 커넥션, 커넥션 풀, 데이터소스, 트랜잭션 개념, 그리고 스프링이 지원하는 데이터 접근 기술까지, 모든 것을 코드로 여러분과 함께 만들어보면서 단계적으로 진행합니다. 과거에 어떤 불편한 점이 있어서 다음 기술이 탄생했고, 어떤 점들이 개선되었는지 그 이유를 찾고 직접 코딩하면서 하나씩 이해할 수 있습니다.
그리고 2편을 통해 MyBatis, JPA 같이 실무에서 주로 사용하는 데이터 접근 기술들도 함께 학습하게 됩니다.

기본기를 단단히
데이터 접근 기술을 학습할 때는 여러가지 기본기가 중요합니다. 이 강의에서는 실무에서는 많이 사용되지만 학습하기는 쉽지 않은 트랜잭션과 자바 예외에 대한 기본기도 함께 다룹니다. 그리고 이렇게 학습한 내용들이 실무에서 어떻게 활용되는지 코드로 학습할 수 있습니다.

강의 목표

  • 목표: 백엔드 개발을 할 때 필요한 데이터 접근 기술을 완성하는 것을 목표로 하는 강의입니다.
  • 기초부터 실무까지: 실무 개발을 위한 내용이 많지만, 백엔드 개발 경험이 없는 개발자도 적응할 수 있게 구성하였습니다.
  • 실무 예제 중심: 실무에서 스프링으로 백엔드 애플리케이션을 개발할 때 필요한 데이터 접근 기술을 예제를 통해 자연스럽게 학습하며, 실무에서의 Best Practice를 전수해드립니다.
  • 간결함: 실무에서 사용하지 않는 오래된 기능은 과감하게 제외했습니다. 최신 실무에 주로 사용하는 내용을 위주로 설명합니다.

이 강의는 데이터 접근 기술에 대한 모든 내용을 설명하지 않습니다.
데이터 접근 기술을 위해 필요한 핵심 뼈대를 세우고, 그 위에 실무에 꼭 필요한 기술을 위주로 설명합니다.
이 강의가 끝나면 여러분은 튼튼한 기반 지식을 바탕으로 스프링 백엔드 애플리케이션을 자신있게 개발할 수 있습니다.

스프링 DB 강의 구성

스프링 DB 강의는 1,2편으로 나누어져 있습니다.

본 강의는 스프링 DB 1편 - 데이터 접근 핵심 원리입니다.

스프링 DB 1편 - 데이터 접근 핵심 원리

데이터 접근 기술의 핵심 개념을 다지고, 스프링이 제공하는 데이터 접근 기술의 기본 원리를 이해합니다.

1편은 먼저 스프링 없이 순수한 데이터 접근 기술인 JDBC, 커넥션, 커넥션 풀, 데이터소스, 트랜잭션 같은 기반 기술의 핵심 개념을 먼저 학습합니다. 이렇게 기반을 다진 다음에, 그 위에 스프링 데이터 접근 기술이 이 기능들을 얼마나 편리하게 사용할 수 있도록 도와주는지 단계별로 깊이있게 학습합니다.

스프링 DB 2편 - 데이터 접근 활용 기술

1편의 기반 위에 다양한 활용 기술들을 학습합니다.
JdbcTemplate, MyBatis 같은 SQL 매퍼 기술 부터, JPA, 스프링 데이터 JPA, Querydsl 같은 최신 ORM 기술을 학습하고 각 기술들의 장단점을 이해합니다. 그리고 데이터 접근 계층의 테스트 방법과 스프링 트랜잭션에 대한 다양한 기능들도 깊이있게 학습합니다.

정리

백엔드 개발자는 MVC와 DB 접근 기술이라는 2가지 큰 축을 꼭 완성해야 합니다. 여러분이 두 가지 축을 완성하고, 멋진 백엔드 개발자로 성장할 수 있도록 저도 열심히 도와드리겠습니다. 감사합니다.

댓글