Spring DB Phần 1 - Nguyên tắc cốt lõi của truy cập dữ liệu
Bạn có thể hiểu và hoàn thiện công nghệ truy cập dữ liệu DB cần thiết cho việc phát triển back-end từ những điều cơ bản. Bạn có thể hiểu các nguyên tắc và cấu trúc của công nghệ truy cập Spring DB và phát triển thành một nhà phát triển phụ trợ chuyên sâu hơn.
Nguyên tắc nội bộ của việc sử dụng DB thông qua Spring
Những điều cần biết dành cho các nhà phát triển backend Công nghệ truy cập dữ liệu Spring Phần 1
📣 Vui lòng kiểm tra! Bài giảng này là bài thứ sáu trong loạt bài "Hoàn thiện Java Spring" . Trước tiên, hãy cùng xem qua Lộ trình Thành thạo Spring từ giám đốc kỹ thuật trẻ nhất của Woowa Brothers, Kim Young-han. • Liên kết lộ trình: https://www.inflearn.com/roadmaps/373 (nhấp để đi trực tiếp)
Công nghệ truy cập dữ liệu
Hầu hết các ứng dụng hiện đại là ứng dụng web, hoạt động trong môi trường web. Nói một cách đơn giản, ứng dụng web thực hiện ba chức năng chính .
Trong bài giảng Spring MVC trước, chúng ta đã học cách tiếp nhận và xử lý yêu cầu của khách hàng. Lần này, chúng ta sẽ đi sâu hơn vào bước tiếp theo : các dịch vụ thực hiện logic nghiệp vụ và kho lưu trữ (repository) lưu trữ và quản lý kết quả trong cơ sở dữ liệu .
Hàm tiếp nhận và xử lý yêu cầu của khách hàng sử dụng Spring MVC. Hàm thực thi logic nghiệp vụ được viết bằng mã Java thuần túy. Cuối cùng, hàm lưu trữ và quản lý kết quả trong cơ sở dữ liệu sử dụng nhiều công nghệ khác nhau, bao gồm JDBC, JdbcTemplate, MyBatis và JPA. Hơn nữa, nhờ công nghệ truy cập dữ liệu cơ sở dữ liệu do Spring cung cấp, các công nghệ này có thể được tích hợp với Spring để sử dụng cực kỳ thuận tiện.
Tại sao bạn cần nắm vững công nghệ truy cập dữ liệu
Việc lưu trữ và quản lý dữ liệu trong cơ sở dữ liệu của một ứng dụng đòi hỏi phải học nhiều công nghệ truy cập dữ liệu khác nhau. Ba lý do chính khiến việc học các công nghệ truy cập dữ liệu này có thể khó khăn như sau:
1. Kiến thức về cơ sở dữ liệu yếu.
Tất cả các công nghệ truy cập dữ liệu đều được thiết kế để lưu trữ và quản lý dữ liệu trong cơ sở dữ liệu. Do đó, cần có hiểu biết cơ bản về cơ sở dữ liệu. Trước khi tham gia khóa học này, chúng tôi khuyên bạn nên làm quen với những kiến thức cơ bản về cơ sở dữ liệu và SQL.
2. Công nghệ truy cập dữ liệu quá đa dạng.
Có rất nhiều công nghệ truy cập dữ liệu đa dạng, từ các trình ánh xạ JDBC và SQL như JdbcTemplate và MyBatis đến các công nghệ ORM tiên tiến như JPA, Spring Data JPA và Querydsl. Với quá nhiều công nghệ hiện có, việc hiểu rõ và sử dụng ưu, nhược điểm của chúng, cũng như trường hợp sử dụng phù hợp cho từng công nghệ có thể khá khó khăn.
3. Lịch sử của công nghệ truy cập dữ liệu đã quá cũ.
Công nghệ truy cập dữ liệu, khởi đầu với JDBC, đã tồn tại hơn 20 năm. Trong suốt thời gian đó, công nghệ truy cập dữ liệu không chỉ phát triển mà Spring còn phát triển và cải tiến nhiều tính năng để giúp các công nghệ này thuận tiện hơn khi sử dụng. Kết quả là, quá nhiều thứ đã được tự động hóa và trừu tượng hóa. Các nhà phát triển back-end, đặc biệt là những người mới bắt đầu, thường không hiểu chính xác lý do tại sao các công nghệ truy cập dữ liệu lại hoạt động theo cách này, và chỉ dựa vào các mô hình sử dụng. Ngay cả khi họ tự hỏi, "Tại sao lại sử dụng theo cách này?", thì cũng khó có thể hiểu đầy đủ bối cảnh của những bất tiện trong quá khứ dẫn đến những cải tiến và triển khai hiện tại.
Các tính năng của bài giảng
Nếu bạn biết lý do tại sao bạn sử dụng "why", bạn có thể sử dụng nó một cách chính xác.
Khóa học này đưa bạn trở về 20 năm trước. Bắt đầu với JDBC, cái nôi của công nghệ truy cập dữ liệu, chúng ta sẽ khám phá các kết nối, nhóm kết nối, nguồn dữ liệu, khái niệm giao dịch, và thậm chí cả các công nghệ truy cập dữ liệu được Spring hỗ trợ, đồng thời xây dựng mọi thứ bằng mã nguồn. Bạn sẽ khám phá lý do đằng sau sự phát triển của các công nghệ này và những cải tiến mà chúng đã đạt được, đồng thời hiểu sâu hơn về chúng thông qua việc thực hành lập trình.
Và qua Phần 2, bạn cũng sẽ tìm hiểu về các công nghệ truy cập dữ liệu thường được sử dụng trong thực tế, chẳng hạn như MyBatis và JPA.
Xây dựng một nền tảng vững chắc
Khi học các công nghệ truy cập dữ liệu, một số kiến thức cơ bản rất quan trọng. Khóa học này bao gồm các kiến thức cơ bản về giao dịch (transaction) và ngoại lệ (exception) Java, vốn được sử dụng rộng rãi trong thực tế nhưng thường khó học. Bạn cũng sẽ tìm hiểu cách áp dụng những khái niệm này vào thực tế thông qua mã lệnh.
Mục tiêu của khóa học
Mục tiêu: Mục tiêu là thành thạo các kỹ năng truy cập dữ liệu cần thiết cho phát triển phần mềm phụ trợ.
Từ cơ bản đến thực hành: Mặc dù chứa nhiều tài liệu phát triển thực tế, nhưng nó được cấu trúc sao cho ngay cả các nhà phát triển không có kinh nghiệm phát triển phần mềm cũng có thể thích nghi.
Tập trung vào các ví dụ thực tế: Tìm hiểu các kỹ thuật truy cập dữ liệu cần thiết để phát triển các ứng dụng phụ trợ với Spring một cách tự nhiên thông qua các ví dụ và tìm hiểu các phương pháp hay nhất từ thực tế.
Ngắn gọn: Chúng tôi đã mạnh dạn loại bỏ những tính năng lỗi thời, không còn được sử dụng trong thực tế. Chúng tôi sẽ tập trung vào những tính năng mới nhất và phù hợp nhất.
Khóa học này không bao gồm tất cả mọi thứ về công nghệ truy cập dữ liệu. Nó thiết lập khuôn khổ cốt lõi cần thiết cho công nghệ truy cập dữ liệu và sau đó tập trung vào các công nghệ thiết yếu cần thiết cho ứng dụng thực tế. Sau khi hoàn thành khóa học này, bạn sẽ có nền tảng vững chắc và tự tin phát triển các ứng dụng Spring back-end.
Cấu trúc bài giảng Spring DB
Bài giảng Spring DB được chia thành phần 1 và phần 2. Bài giảng này là Spring DB Phần 1 - Nguyên tắc cốt lõi của truy cập dữ liệu .
Spring DB Phần 1 - Nguyên tắc truy cập dữ liệu cốt lõiBài giảng hiện tại
Bao gồm các khái niệm cốt lõi về công nghệ truy cập dữ liệu và hiểu các nguyên tắc cơ bản của công nghệ truy cập dữ liệu do Spring cung cấp. Phần 1 bắt đầu bằng việc khám phá các khái niệm cốt lõi của các công nghệ nền tảng như JDBC, kết nối, nhóm kết nối, nguồn dữ liệu và giao dịch, vốn là những công nghệ truy cập dữ liệu thuần túy không có Spring. Sau khi thiết lập nền tảng này, chúng ta sẽ đi sâu hơn, từng bước, vào cách công nghệ truy cập dữ liệu Spring tạo điều kiện thuận lợi cho việc sử dụng các tính năng này.
Tìm hiểu các kỹ thuật ứng dụng khác nhau dựa trên Phần 1. Bạn sẽ được học các công nghệ ánh xạ SQL như JdbcTemplate và MyBatis, cũng như các công nghệ ORM tiên tiến như JPA, Spring Data JPA và Querydsl, đồng thời hiểu rõ điểm mạnh và điểm yếu của chúng. Bạn cũng sẽ tìm hiểu sâu về các phương pháp kiểm thử tầng truy cập dữ liệu và các tính năng khác nhau của giao dịch Spring.
Người chia sẻ kiến thức Một từ
Các lập trình viên back-end cần nắm vững hai trụ cột chính: MVC và công nghệ truy cập cơ sở dữ liệu. Tôi sẽ nỗ lực hết mình để giúp bạn thành thạo hai trụ cột này và phát triển thành một lập trình viên back-end thành công. Cảm ơn bạn.
Tôi thường không đăng bài đánh giá trên internet nhưng tôi viết bài này vì tôi đã nhận được rất nhiều sự giúp đỡ.
Giống như các bài giảng khác của người chia sẻ kiến thức, đây là một bài giảng hay không chỉ dựa vào kỹ năng phát triển của bản thân người hướng dẫn mà còn dựa trên sự chuẩn bị kỹ lưỡng. Nó thực sự hữu ích về mặt nội dung, nhưng đây là một bài giảng đặc biệt được khuyến khích vì nó luôn liên quan đến mối quan tâm về cách truyền tải bài giảng tốt dựa trên khán giả.
Vui lòng mở và hiển thị mã nguồn hoặc tài liệu chính thức vào thời điểm thích hợp nhưng chỉ tiến hành khi cần thiết vào thời điểm đó. Như thường lệ, những câu chuyện về trải nghiệm của bạn khi sử dụng nó trong lĩnh vực này cũng rất hữu ích. Tôi đang nghiên cứu công nghệ truy cập DB và nó giúp ích rất nhiều trong việc hiểu các nguyên tắc cơ bản cũng như các câu hỏi chắc chắn sẽ xuất hiện một cách tự nhiên. Điều này đã giúp tôi tiết kiệm rất nhiều thời gian.
Đặc biệt, việc đề cập đến các vấn đề xử lý ngoại lệ thực sự hữu ích. Khi học JDBC, tôi khá bối rối về các trường hợp ngoại lệ.
1. Cung cấp sự hiểu biết vững chắc về khái niệm ngoại lệ Java từ những điều cơ bản.
2. Truyền đạt các xu hướng sử dụng tại hiện trường và đưa ra hướng dẫn rõ ràng về cách sử dụng chúng.
Điều này đặc biệt hữu ích.
Trên thực tế, đã khoảng 8 tháng kể từ khi tôi bắt đầu tự phát triển trò chơi và học qua các bài giảng của Younghan vì tôi chỉ biết làm bảng cửu chương và mỗi bài giảng đều thực sự hữu ích. Đặc biệt, tôi muốn khuyến nghị rằng vì đây là lớp học do người hướng dẫn giảng dạy thông qua mã hóa trực tiếp nên bạn cũng có thể có được kiến thức về cách sử dụng IDE và cách viết mã tốt.
Cảm ơn bạn luôn.
Hanbin Lee, cảm ơn bạn rất nhiều vì đã chăm chỉ học tập và giải thích từng điểm mạnh của bài giảng. Tôi đã suy nghĩ rất nhiều về việc có nên đưa những kiến thức cơ bản về ngoại lệ Java vào đây hay không, nhưng tôi thấy thật bổ ích khi có thể trợ giúp trong lĩnh vực này. Cảm ơn!
Chỉ học ngữ pháp Java và JPA -> Tôi là người tìm việc đã xem tất cả các bài giảng của Younghan theo thứ tự lộ trình mùa xuân. (Có vẻ như thứ tự đã thay đổi nhưng khi tôi bắt đầu thì chỉ có Spring Basics.)
Tôi nghĩ rằng tôi đã đi xa đến mức này mà không gặp nhiều khó khăn vì bạn đã giải thích một cách dễ hiểu những loại vấn đề mà các nhà phát triển cổ xưa gặp phải và cách họ phát triển, ngay cả khi là một lập trình viên lần đầu.
Bài giảng này có thể là do tôi đã nghe phần nâng cao trước đó, nhưng tôi rất thích nghe ý tưởng về cách sử dụng các khái niệm như mẫu, lệnh gọi lại, proxy và AOP khi chúng được giới thiệu. Sau này, khi tạo một hàm, tôi nghĩ mình nên giới thiệu một mẫu nếu gặp phải các vấn đề về mã lặp lại hoặc phụ thuộc. Nếu tôi bắt đầu với một cuốn sách như Projects with Spring, tôi có thể hài lòng với việc chỉ sử dụng Spring, vì vậy tôi nghĩ nên bắt đầu với bài giảng của Younghan :)
Như bạn đã đề cập trong khi chờ đợi DB Phần 2, tôi đang cố gắng vượt qua giai đoạn nghiên cứu để chuyển sang giai đoạn tiếp thu và tôi không chắc nên bắt đầu như thế nào, nhưng tôi dự định làm theo lời khuyên của Younghan và tạo một dự án nhỏ từng bước một . Tất nhiên, bài giảng rất hay, nhưng tôi nghĩ đó là động lực rất lớn để tôi đề xuất hướng đi ở phần cuối. Cảm ơn bạn rất nhiều ^^.
Mingyu, bạn đã học đúng như ý định của tôi ^^!
Nếu bạn là người tìm việc và đã suy nghĩ nhiều về nó, tôi chắc chắn rằng bạn sẽ trở thành một nhà phát triển giỏi khi trở thành một nhà phát triển đang làm việc.
Chúc mừng!
Rất khuyến khích cho những người có mã công ty có nhiều ngoại lệ hoặc những người thiếu khái niệm về giao dịch :)
Cảm ơn bạn đã cung cấp một khóa học đặc biệt tốt giúp cải thiện kỹ năng trung bình của các nhà phát triển back-end trong nước!!
Không chỉ nội dung bài giảng mà cả những câu nói hay trong video vừa rồi đã tiếp thêm cho tôi rất nhiều sức mạnh. Gần đây tôi có cảm giác như mình chỉ học một cách trì trệ sau giờ làm mà không có mục tiêu cụ thể nào cả. Điều này có thực sự đúng không? Đó thực sự không phải là con đường của tôi sao? Rất nhiều phần bực bội mà tôi nghĩ đã được giải quyết đã được giải quyết. Cảm ơn bạn!
KoorunG, cuối cùng thì điều quan trọng nhất là phải làm việc chăm chỉ một cách nhất quán. Tôi cũng cảm thấy được khen thưởng vì đã chăm chỉ chuẩn bị haha.