BEST

Spring DB Part 2 - Data Access Utilization Technology

You can utilize and complete the DB data access technology required for backend development. You can understand the principles and structure of Spring DB access technology and grow into a more in-depth backend developer.

(5.0) 526 reviews

15,979 students

Spring
MVC
spring-jpa
JPA
querydsl
Thumbnail

This course is prepared for Basic Learners.

What you will learn!

  • Internal principles of using DB through Spring

  • Various ways to use DB through Spring

  • Spring DB Access Technology

Must-know for backend developers
Spring Data Access Technology Part.2

📣 Please check!
This lecture is the 7th lecture in the Java Spring Complete Conquest series . Please check the Spring Complete Conquest roadmap by Younghan Kim, the youngest technical director of Woowa Brothers, first.
• Roadmap link: https://www.inflearn.com/roadmaps/373 (click to go there)

Kim Young-han's Spring DB
Completing data access techniques

To properly develop a backend web application, you need to complete two major axes: MVC based on HTTP and data access technology based on DB. We completed HTTP and Spring MVC in the previous lecture, so now we need to complete the remaining axis, Spring DB data access technology.

✅ Please check the player's knowledge.

Please check whether you understood the principles and structure of Spring DB through the previous lecture, <Spring DB Part 1> .

1. Understand the basic principles of Spring data access technology
2. Develop directly with code used in practice


Through the Spring DB Part 1 lecture, we have understood the core principles and structure of DB access technology. In this Spring DB Part 2, we will learn various practical utilization technologies based on Part 1. Part 2 is largely divided into three parts.

1) Understand various data access technologies

You will learn about various data access technologies that are mainly used in practice, such as JdbcTemplate, MyBatis, JPA, Spring Data JPA, and Querydsl, by gradually developing them through practical examples. Through this process, you will naturally understand why each technology is necessary and the pros and cons of each technology while developing code.

2) Data access techniques and testing

Data access technology is ultimately used for the purpose of managing data in a database. Therefore, it is necessary to check whether the data access technology can properly store and retrieve data in an actual database. In this lecture, we will explain step-by-step how to conduct tests in a situation where a database is linked.

3) Deep understanding of Spring transactions

In Spring DB Part 1, we learned why the transaction function provided by Spring is necessary and how it works, as well as the internal principles. In this lesson, we will learn about Spring transactions in great depth and learn how to use them in practice.

  • Practical Precautions When Using Transaction AOP
  • Various options for Spring transactions
  • Exception handling and the internal principles of how Spring transactions are committed and rolled back
  • Transaction propagation options and internal workings

Course Objectives

  • Objective: The goal of this course is to master the vast database data access skills required to develop practical backend applications.
  • From Basics to Practice: There is a lot of content for practical development, but it is organized in stages so that even developers without web application development experience can adapt. Please note that you should listen to Spring DB Part 1 first and then learn Spring DB Part 2.
  • Focused on practical examples: Learn the data access technologies required for developing backend applications with Spring in a natural way through examples, and learn best practices from practical use.
  • Conciseness: We boldly excluded old features that are not used in practice. We mainly explain the contents that are mainly used in modern practice.

Lecture Contents

Data Access Technology - JdbcTemplate

When using SQL directly, the JdbcTemplate provided by Spring is a good choice. This technology makes using JDBC very convenient. And it handles most of the repetitive tasks that occur when using JDBC directly.
* Developers only need to write SQL, define parameters to pass, and map response values.
* Understand the pros and cons of JdbcTemplate by applying it to a real-world web application.

Data Access Technology - MyBatis

MyBatis offers more features than the JdbcTemplate described above. The most attractive point of MyBatis compared to JdbcTemplate is that it allows you to conveniently write SQL in XML and also allows you to conveniently write dynamic queries. In this lecture, you will understand the advantages and disadvantages of the technology by directly applying MyBatis to a real-life web application.

Data Access Technology - JPA

Spring and JPA are the main technologies in the Java enterprise market. While Spring provides various functions for the entire application, including the DI container, JPA provides ORM data access technology. JPA is as vast as Spring and has a lot to learn, but once you learn it, you can greatly improve your productivity in data access technology. Here, we will look at the basic functions of these technologies, the pros and cons of each technology, and the overall big picture of why you should use them.

Data Access Technology - Spring Data JPA

Spring Data JPA is a technology that helps you use JPA more conveniently. Simply put, it provides all the basic CRUD functions, so it can dramatically reduce the amount of development code that developers have to write. In this lecture, you can understand the advantages and disadvantages of the technology by directly applying Spring Data JPA to an actual web application.

Data Access Technology - Querydsl

JPA has difficulty handling complex or dynamic queries. Querydsl can solve these problems very conveniently. If you use JPA in practice, this is a recommended technology that you must use. In the lecture, you can understand the advantages and disadvantages of the technology by directly applying Querydsl to actual web applications.

Data Access Technology - Testing

Data access technology is ultimately used for the purpose of managing data in a database. Therefore, it is necessary to check whether the data access technology can properly store and retrieve data in an actual database. In this lecture, we will explain step by step how to test in a situation where a database is connected. For example, we will explain how to configure a test that connects to a database, and learn how @Transactional and embedded mode DB work through code.

Understanding Spring Transactions

In DB Part 1, we looked at the internal principles of why the transaction function provided by Spring is necessary and how it works. In this lesson, we will look deeply into the various functions provided by Spring Transaction, such as practical precautions when using Spring Transaction AOP, various options for Spring Transaction, and the internal principles of how Spring Transaction is committed and rolled back when an exception occurs.

Spring Transaction Propagation

We cover Spring's transaction propagation in great depth. We understand why transaction propagation is necessary, cover various transaction propagation options, exception handling according to propagation options, and cautions when using transaction propagation options in practice.


Knowledge sharer
A word from Kim Young-han

Backend developers must complete two major axes: MVC and DB access technology. We will help you complete these two axes and grow into a solid backend developer. Thank you.


Lecture order


Associated Roadmap

Spring Complete Conquest Series
Spring Smart Start, from Core Principles to Practical Applications
Complete mastery of Spring Boot + JPA practices
In-depth learning through creating web apps using the latest practical technologies

Recommended for
these people!

Who is this course right for?

  • Developers who want to access DB and manage data through Spring

  • Developer job seeker

  • Working developers who want to deeply understand Spring DB access technology

  • Developers who want to create web applications with Spring

Need to know before starting?

  • Java language

  • Spring Basics

  • DB Basic Knowledge

Hello
This is yh

521,244

Students

32,689

Reviews

8,839

Answers

5.0

Rating

22

Courses

진짜 실무에 필요한 제대로 된 개발자가 될 수 있도록, 교육하는 것이 저의 목표입니다.

 

저의 개발 인생 이야기

EO 인터뷰 영상

개발바닥 - 시골 청년 개발왕 되다

취업과 이직에 대한 고민 해결

 

More

Curriculum

All

88 lectures ∙ (13hr 59min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

526 reviews

5.0

526 reviews

  • 선한영향력주는개발자되기

    Reviews 13

    Average Rating 5.0

    5

    100% enrolled

    안녕하세요. 교수님. 이번 강의도 완강을 했네요. 1년정도의 시간동안 퇴근 후나 주말에 강의를 들으면서 로드맵을 따라 왔는데 이제 진짜 대단원의 마지막 장만 남았네요. 항상 강의를 들으면서 해당 기술의 탄생 배경과 왜 그 기술을 사용하는지 누구나 이해할 수 있도록 쉽게 설명해주고 하나라도 더 전달 해주시려고 하셔서 너무 감사합니다. 가끔 강의를 보면서 교수님의 컴퓨터 시간을 봅니다. 어쩔때는 숫자로 나오고 어쩔때는 시계모양으로 나와서 일부러 숨기시는건가 하는 생각도 했습니다.ㅋㅋㅋ 아무튼 이른 저녁부터 새벽까지 다양한 시간대에 강의를 찍으시는걸 보면서 교수님도 이렇게 열심히 좋은 강의를 찍어주시는데 나는 저렇게 열심히 하는가? 라는 반성도 많이 하게 되었습니다. 좋은 강의를 제공해주시고 또 선배 개발자로서 아낌없는 조언도 해주셔서 기술적인 학습뿐만 아니라 인생의 동기부여를 얻을 수 있는 1년 여간의 시간이었습니다. 앞으로도 이 시스템을 잘 유지하면서 즐겁게 개발할 수 있을거 같습니다. 감사합니다.

    • 김영한
      Instructor

      선한영향력 개발자님 항상 열심히 들어주시고 또 수강평도 자주 남겨주셔서 감사합니다. 1년을 함께했다고 하니 저도 뭔가 같이한 느낌이 들어서 더 보람이 있네요. 시간은 가끔 학생분들이 이야기를 주셔서, 강의에 더 집중할 수 있게 최근에는 점점 가리고 있답니다^^

  • 성급한

    Reviews 11

    Average Rating 5.0

    5

    100% enrolled

    많은 것을 배워갑니다 . 늘 감사합니다

    • 김영한
      Instructor

      최준영님 열심히 들어주셔서 저도 보람이 있네요^^ 고맙습니다^^

  • gusdn85554

    Reviews 2

    Average Rating 5.0

    5

    98% enrolled

    영한님 안녕하세요 ! 작년 7월부터 공부를 시작해서 1년 4개월이 지나서 드디어 영한님 강의(부트 강의 제외)를 다 들었습니다,, 매 강의를 들으면서 DB 2편까지 듣고 제대로 수강평을 작성해보고자 마음을 먹었는데 드디어 쓸 수 있게 되었어요,, 비전공자로 개발 공부가 막막할 때, 영한님 강의를 들으며 지금까지 성장할 수 있었던 것 같습니다. 강의를 통해서 프로젝트도 여러 개 해보면서, 부족한 cs 공부는 스터디를 통해서 공부해왔습니다. Spring, Jpa 모든 강의를 다 들은 영한님에 대한 강의 특징을 말씀드리겠습니다. 영한님 강의 특징을 말씀드리자면 5단계를 배우기 위해서 1단계부터 차근차근 가르쳐주십니다. 1~3단계를 모르는 체로 5단계를 알고 계신다면, 강의를 통해 1~3단계를 배우면 왜 5단계가 이렇게 나왔는지 알 수 있습니다. 저는 항상 모르고 들었어서 점점 진화하는 코드를 보면서 항상 신기해했습니다,, 기술이 이렇게 발전됐구나 하면서요.(새로운 기술이 있을 수 있는 이유는 과거의 기술들이 있기 때문이니까) 그리고 영한님 강의는 여러 번 봐야 더욱 효과가 좋다고 생각해요. 예를 들어 spring 기본보다가 spring mvc강의를 듣고 다시 spring 기본을 들으면 처음 들었던 거랑 다르게 시야가 더 넓어지실거에요. 그래서 저는 JPA 기본을 2~3번 들었던 것 같아요(어렵기도해서) 영한님 강의를 고민하시는 분들은 이 글을 읽고 한번 생각해보셨으면 좋겠어요. 아 그리고 마지막으로 서포터즈님들 QnA 답변을 잘해주셔서 너무 감사드립니다,,! 저는 항상 모르는게 있으면 구글링이나 QnA에서 해결했던 것 같습니다. 모두 화이팅입니다. 긴 글 읽어주셔서 감사합니다.

    • 김영한
      Instructor

      gusdn85554님 단계적으로 잘 이해하고 계시군요. 그리고 말씀하신 것 처럼 복습하는 것도 정말 중요합니다. 응원합니다!

  • hoon

    Reviews 17

    Average Rating 5.0

    5

    100% enrolled

    짱이에요 :) 최고의 강의입니다. 강의 들으면서 많이 배워 실무에서 잘 사용하고 있어요. 실전강의도 들을 예정이고, 스프링 부트 강의도 기대하겠습니다.

    • 김영한
      Instructor

      hoon님 열심히 들어주셔서 감사합니다. 끝까지 화이팅.

  • 웃자

    Reviews 10

    Average Rating 5.0

    5

    100% enrolled

    솔직히 스프링 DB 1편, 2편의 내용의 내용을 모르는 분들은 사상위에 누각을 쌓고 계신겁니다. 여기는 목차 한개라도 잘 모르시는 분은 꼭 들으십시오! 두 번 들으세요

    • 김영한
      Instructor

      웃자님 열심히 들어주셔서 저도 감사합니다!!

yh's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!

$69,300.00

30%

$77.00