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 sixth in the "Complete Java Spring Mastery" series . First, check out the Spring Mastery Roadmap from Woowa Brothers' youngest technical director, Kim Young-han. • Roadmap link: https://www.inflearn.com/roadmaps/373 (click to go directly)
Data access technology
Most modern applications are web applications, operating in a web environment. Simply put, web applications perform three main functions .
In the previous Spring MVC lecture, we learned how to receive and process client requests. This time, we'll delve deeper into 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 client requests uses Spring MVC. The function that executes business logic is written in pure Java code. Finally, the function that stores and manages the results in a database utilizes a variety of technologies, including JDBC, JdbcTemplate, MyBatis, and JPA. Furthermore, using the database data access technology provided by Spring, these technologies can be integrated with Spring for extremely convenient use.
Why You Need to Master Data Access Technologies
Storing and managing data in a database within an application requires learning a variety of data access technologies. The three main reasons why learning these data access technologies can be difficult are as follows:
1. Weak database knowledge.
All data access technologies are designed to store and manage data in a database. Therefore, a basic understanding of databases is required. Before taking this course, we recommend that you familiarize yourself with the basics of databases and SQL.
2. Data access technologies are too diverse.
There are a truly diverse range of data access technologies, from JDBC and SQL mappers like JdbcTemplate and MyBatis to cutting-edge ORM technologies like JPA, Spring Data JPA, and Querydsl. With so many technologies available, it can be difficult to clearly understand and use their pros and cons, as well as the appropriate use case for each.
3. The history of data access technology is too old.
Data access technology, starting with JDBC, has been around for over 20 years. Over this time, not only has data access technology evolved, but Spring has also developed and improved numerous features to make these technologies more convenient to use. As a result, too much has been automated and abstracted. Backend developers, especially those just starting out, often don't understand the exact reasons behind why data access technologies work the way they do, and simply rely on usage patterns. Even if they ask themselves, "Why use it this way?", it's difficult to fully understand the context of past inconveniences that led to the current improvements and implementation.
Lecture Features
If you know why you are using 'why', you can use it accurately.
This course takes you back 20 years. Beginning with JDBC, the birthplace of data access technology, we'll explore connections, connection pools, data sources, transaction concepts, and even Spring-supported data access technologies, building everything with code. You'll explore the reasons behind the development of these technologies and the improvements they've made, and you'll gain a deeper understanding of them through hands-on coding.
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 technologies, several fundamentals are crucial. This course covers the fundamentals of transactions and Java exceptions, which are widely used in practice but often difficult to learn. You'll also learn how these concepts are applied in practice through code.
Course Objectives
Objective: The goal is to master the data access skills required for backend development.
From Basics to Practice: While it contains a wealth of practical development material, it's structured so that even developers without backend development experience can adapt.
Focused on practical examples: Learn the data access techniques needed to develop backend applications with Spring in a natural way through examples, and learn best practices from the field.
Conciseness: We've boldly excluded outdated features that aren't used in practice. We'll focus on the most current and relevant features.
This course doesn't cover everything about data access technologies. It establishes the core framework necessary for data access technologies and then focuses on the essential technologies needed for practical use. By the end of this course, you'll have a solid foundation and can confidently develop Spring backend applications.
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 Data Access PrinciplesCurrent Lecture
Cover the core concepts of data access technology and understand the basic principles of data access technology provided by Spring. Part 1 begins by exploring core concepts of underlying technologies like JDBC, connections, connection pools, data sources, and transactions, which are pure data access technologies without Spring. After establishing this foundation, we delve deeper, step by step, into how Spring data access technology facilitates the use of these features.
Learn various application techniques based on Part 1. You'll learn SQL mapper technologies like JdbcTemplate and MyBatis, as well as cutting-edge ORM technologies like JPA, Spring Data JPA, and Querydsl, understanding their strengths and weaknesses. You'll also delve into data access layer testing methods and the various features of Spring transactions.
Knowledge sharer's One word
Backend developers must master two major pillars: MVC and database access technology. I will work diligently to help you master these two pillars and grow into a successful backend developer. Thank 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!
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 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!!
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!