You can understand and perfect the basics of 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.
Must-know for backend developers Spring Data Access Technology Part.1
📣 Please check! This lecture is the 6th lecture in the Java Spring Complete Conquest series . Please check the Spring Complete Conquest roadmap of Younghan Kim, the youngest technical director of Woowa Brothers, first. • Roadmap link: https://www.inflearn.com/roadmaps/373 (click to go there)
Data Access Technology
Most modern applications are web applications that operate in a web environment. In simple terms, web applications perform three main functions :
In the previous Spring MVC lecture, we learned how to receive and process client requests. This time, we will learn in depth about the next step , services that perform business logic, and repositories that store and manage the results in a database .
The function that receives and processes the client's request uses Spring MVC. The function that performs business logic is made with pure Java code. Finally, the function that stores and manages the execution results in the database uses various technologies such as JDBC, JdbcTemplate, MyBatis, and JPA. And if you use the DB data access technology that Spring provides, you can integrate these technologies with Spring and use them very conveniently.
Why You Need to Master Data Access Technologies
In order to store and manage data in a database in an application, you need to learn various data access technologies. The three main reasons why it is difficult to learn these data access technologies are as follows.
1. Weak database knowledge.
All data access technologies are for storing and managing data in a database. Therefore, a basic understanding of databases is required. Before learning this course, it is recommended that you learn the basics of databases and SQL.
2. Data access technologies are too diverse.
There are so many data access technologies, from JDBC to technologies called SQL mappers like JdbcTemplate or MyBatis to the latest technologies like ORM technologies like JPA, Spring Data JPA, and Querydsl. There are so many different technologies that it is not easy to clearly understand and use the pros and cons of each technology and which technology is good to use in which situation.
3. The history of data access technology is too old.
Data access technology, starting with JDBC, has been around for over 20 years. In the meantime, not only has data access technology developed, but Spring has also developed and improved numerous functions to help use these data access technologies more conveniently. So now, too many things have been automated and abstracted. In particular, backend developers who have recently started developing do not know the exact reason why the function works in this way when using data access technology, and simply use it based on how to use it. Even if they wonder, "Why use it this way?", it is difficult to properly understand and use the past context of why it was improved and used this way due to some inconvenient problem in the past.
Course Features
If you know why you are using 'why', you can use it accurately.
This lecture goes back 20 years. Starting with JDBC, the beginning of data access technology, we will go through everything with code, from connections, connection pools, data sources, transaction concepts, to data access technology supported by Spring. You will find out why the next technology was born and what improvements were made, and you will understand them one by one while coding directly.
And through Part 2, you will also learn data access technologies that are commonly used in practice, such as MyBatis and JPA.
Build a solid foundation
When learning data access technology, many basics are important. This lecture covers the basics of transactions and Java exceptions, which are widely used in practice but not easy to learn. And you can learn how the contents learned in this way are used in practice through code.
Course Objectives
Objective: The goal is to perfect the data access skills required for backend development.
From Basics to Practice: There's a lot of content for practical development, but it's structured so that even developers without backend development experience can adapt.
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.
This course does not cover everything about data access technology. It lays the core framework required for data access technology and then focuses on the technologies that are essential for practical use. After completing this course, you will be able to confidently develop Spring backend applications based on a solid foundation of knowledge.
Spring DB Lecture Structure
The Spring DB lecture is divided into parts 1 and 2. This lecture is Spring DB Part 1 - Core Principles of Data Access .
Spring DB Part 1 - Core Principles of Data AccessCurrent Lecture
Covers core concepts of data access technology and understands the basic principles of data access technology provided by Spring. Part 1 first learns the core concepts of the underlying technologies such as JDBC, connections, connection pools, data sources, and transactions, which are pure data access technologies without Spring. After laying the foundation, we learn in depth step by step how Spring data access technologies help us use these functions conveniently.
Learn various application techniques based on Part 1. From SQL mapper technologies like JdbcTemplate and MyBatis to the latest ORM technologies like JPA, Spring Data JPA, and Querydsl, you will learn about the pros and cons of each technology. You will also learn in depth about testing methods for the data access layer and various functions for Spring transactions.
Knowledge sharer's One word
Backend developers must complete two major axes: MVC and DB access technology. I will also work hard to help you complete these two axes and grow into a great backend developer. Thank you.
I am a job seeker who studied only Java grammar and watched all of Younghan's lectures in the order of JPA -> Spring roadmap. (I think the order changed, but when I started, there was only the Spring basics ㅠㅠ)
I think I was able to get here without much difficulty because he explained in an easy way that even I, a beginner in programming, could understand what problems ancient developers felt and how they developed.
I think it was because I had listened to the advanced lecture before, so when concepts like templates, callbacks, proxies, and AOP came out, I found them interesting and thought that they were used in this way. Later, when I was creating a function, I thought that I should introduce patterns when I had repetitive code or dependency problems. If I had started with a book like Projects with Spring, I might have been satisfied with just using Spring, so I think it was a good decision to start with Younghan's lecture :)
As you said while waiting for DB Part 2, I am trying to move beyond the study stage to the acquisition stage, but I don't know where to start, but I plan to follow Younghan's advice and create small projects step by step. Of course the lecture is good, but I think the direction you give me at the end is a great motivation for me. Thank you so much^^
Min-gyu, you studied exactly as I intended^^!
You're a job seeker, but if you've already thought about it this much, I'm sure you'll be a good developer when you become a working developer.
I'm rooting for you!
I don't usually write reviews on the internet, but I'm writing this because it helped me a lot.
Like other lectures by Knowledge Sharer, this is a good lecture based on thorough preparation as well as the instructor's own development skills. It is really helpful in terms of content, but it is especially recommended because it always considers how to convey the lecture well based on the listener.
While showing the source code or official documents at the appropriate time, it only goes as far as necessary at that time, and as always, the stories of usage experiences in the field are also helpful. I was studying DB access technology, and it helped me a lot with the underlying principles and the questions that naturally came up. Thanks to this, I was able to save a lot of time.
In particular, the exception handling issue was really helpful. I was quite confused about exceptions while learning JDBC, but
1. You covered the basics of Java exception concepts in a solid manner,
2. You conveyed usage trends in the field and gave clear instructions on how to use them, which was especially helpful.
In fact, I started developing on my own and have been studying with Younghan's lectures since I only knew how to do the multiplication table. It's been about 8 months since I started studying with Younghan's lectures, and each lecture has been really helpful. In particular, since the lecture is conducted through the instructor's live coding, I would like to recommend it because you can also acquire knowledge about using IDEs and writing good codes.
Thank you always.
Thank you, Mr. Lee Han-bin, for studying hard and explaining the merits of the lecture one by one. I thought a lot about whether to include the basics of Java exceptions here, and I feel rewarded for helping you in this area. Thank you!
Not only the lecture content, but also the good words in the last video gave me a lot of strength. Recently, I feel like I've been studying after work out of inertia without any particular goals, so I wondered if this was really right? Is this really not my path? Many of the parts that were frustrating have been resolved. Thank you!
I highly recommend this to those who have thrown exceptions in their company code or lack the concept of transactions :)
Thank you for providing a unique and excellent lecture that raises the average skill level of domestic backend developers!!