Tiêu đề tiếng Trung: JavaSpringBoot thực hiện làm trống dữ liệu bảng bằng một cú nhấp chuột (mẫu mã GitHub)
1Chiến Tranh Vũ Tru™™. Giới thiệu
Với sự phát triển của Internet, chúng ta phải đối mặt với ngày càng nhiều nhiệm vụ xử lý dữ liệu khổng lồ và sử dụng cơ sở dữ liệu để lưu trữ dữ liệu là một trong những cách rất phổ biến. Trong các ứng dụng hàng ngày, thường cần phải xóa dữ liệu dạng bảng, chẳng hạn như đặt lại dữ liệu thử nghiệm, xóa dữ liệu đã hết hạn, v.v. Chủ đề này mô tả cách sử dụng JavaSpringBoot để xóa dữ liệu bảng bằng một cú nhấp chuột và cung cấp các mẫu mã trên GitHub.
2. Chuẩn bị
Trước tiên, hãy chắc chắn rằng bạn đã cài đặt Java và SpringBoot trong môi trường phát triển của mình. Tạo một dự án SpringBoot và thêm các phụ thuộc cần thiết, chẳng hạn như SpringDataJPA, v.v. Ngoài ra, bạn cần cấu hình kết nối cơ sở dữ liệu và các tệp ánh xạ liên quan. Trong ví dụ này, giả sử rằng chúng ta đang sử dụng cơ sở dữ liệu MySQL.
3. Tạo bảng dữ liệu và các lớp thực thể
Tạo bảng dữ liệu trong cơ sở dữ liệu dựa trên yêu cầu kinh doanh của bạn. Tiếp theo, tạo lớp Entity tương ứng ánh xạ cấu trúc bảng trong cơ sở dữ liệu. Ví dụ: tạo một lớp thực thể có tên User, chứa các trường như id và name.Cổng Gatot KaCa
Thứ tư, thực hiện chức năng làm trống dữ liệu bảng
Để nhận ra chức năng làm trống dữ liệu bảng bằng một cú nhấp chuột, bạn có thể viết phương thức lớp dịch vụ. Trong một dự án SpringBoot, business logic thường được xử lý trong Service Layer. Trong phương thức này, bạn có thể sử dụng phương thức deleteAll được cung cấp bởi JPA hoặc câu lệnh nativeQuery để xóa dữ liệu. Làm thế nào điều này được thực hiện có thể khác nhau tùy thuộc vào doanh nghiệp của bạn. Đây là một ví dụ đơn giản:
Đầu tiên, tạo một lớp UserService (giả sử đó là một lớp dịch vụ người dùng) và thêm một phương thức có tên clearTable vào nó:
”java
importorg.springframework.stereotype.Service;
importorg.springframework.transaction.annotation.Transactional; Sử dụng quản lý giao dịch để đảm bảo tính nhất quán của dữ liệu
importorg.springframework.beans.factory.annotation.Autowired; Tự động tiêm phụ thuộc
importjavax.persistence.EntityManager; Giao diện JPA Entity Manager
importjavax.persistence.PersistenceContext; Chú thích SpringPersistence để tham chiếu việc triển khai một bean bằng cách sử dụng Entity Manager
@Service// Định nghĩa rằng đây là một thành phần dịch vụ
publicclassUserService{// Xác định các hoạt động lớp có liên quan của giao diện lớp dịch vụ và dữ liệu liên quan đến người dùng được truyền vào, thông qua biến xây dựng hoặc thành viên, tham chiếu, lưu trữ, xử lý, giao dịch tương ứng, v.v., để đạt được mục đích xử lý dữ liệu, kết quả của cuộc gọi phía người dùng, sau khi đóng gói giá trị trả về, có thể vận hành một đối tượng cấu trúc tương tự như Kho lưu trữ, trực tiếp cung cấp dịch vụ theo phương thức kinh doanh của người dùng, cung cấp kiểm soát dữ liệu trừu tượng, đạt được một mục tiêu cụ thể nhất định, hoạt động cụ thể phù hợp với đặc điểm gắn kết cao của phát triển phần mềm, phương pháp này có thể được gọi bằng chế độ xem hoặc một nhóm chế độ xem, nghĩa là các chế độ xem này chịu trách nhiệm hiển thị kết quả cho người dùng và kết quả này thu được thông qua phương thức kinh doanh của người dùng và cuối cùng được xử lý và việc thực hiện phương thức kinh doanh của người dùng nên được kết hợp lỏng lẻoTrạng thái kết hợp, nghĩa là để giảm sự phụ thuộc vào các bộ phận khác, bao gồm các ý tưởng thiết kế tổng thể và xem xét cấu trúc của hệ thống, cho dù nó đáp ứng các yêu cầu của nguyên tắc mô-đun, khi sửa đổi mô-đun này, nó không ảnh hưởng đến khả năng bảo trì của các mô-đun khác, phản ánh khả năng bảo trì của hệ thống và thuận tiện cho những thay đổi tiếp theo và đáp ứng các yêu cầu mới, trong quá trình thực hiện các nhu cầu kinh doanh phức tạp, nếu cần hiểu nhóm, giá trị của sự gắn kết cao nhỏ hơn, rõ ràng hơn và giao diện thể hiện ý định của nó, do đó mỗi lần triển khai phụ thuộc vào giao diện được xác định rõ ràng và đáp ứng nguyên tắc mở và đóng của thiết kế phần mềm, nghĩa là đối với thành phần, tất cả các chi tiết không cần thiết đều được đóng và chỉ phần giao diện được tiếp xúc, và sự trừu tượng hóa giao diện và các chi tiết triển khai cụ thể được phơi bày, và người gọi chỉ cần biết hợp đồng giao diện là cụ thểViệc thay đổi chi tiết nội bộ sẽ không ảnh hưởng đến người gọi, giảm hoàn toàn khớp nối giữa các mô-đun, để đảm bảo cấu trúc phát triển phần mềm rõ ràng và khả năng mở rộng tốt hơn, ví dụ, trong tương lai, các chức năng mới cần được thêm vào mô-đun, chỉ cần mở rộng các chức năng liên quan của mô-đun và không cần thay đổi mã liên quan của các mô-đun khác, cải thiện khả năng tái sử dụng của hệ thống phần mềm, từ đó nâng cao hiệu quả phát triển phần mềm và giảm chi phí phát triển phần mềm, giảm khối lượng công việc, mang lại lợi nhuận cạnh tranh thương mại tiềm năng, để kiểm soát nhân lực và tài nguyên vật chất, nâng cao hiệu quả kinh tế, hình thành một khuôn khổ vòng tròn đạo đức đầu vào thấp, hiệu quả cao và chất lượng cao của giá trị công ty, giảm tổn thất mô-đun hóa thành sự phụ thuộc, giảm đáng kể mức độ khớp nối lớp, cải thiện khả năng bảo trì và tái sử dụng của hệ thốngKhả năng mở rộng đóng một vai trò quan trọng trong hệ thống, thông thường các hệ thống lớn sẽ sử dụng kiến trúc để xây dựng kiến trúc cơ bản của nó, thường chứa ứng dụng các mẫu thiết kế, để đảm bảo rằng hệ thống mạnh mẽ, ổn định, an toàn và các đặc điểm khác, chủ yếu tuân theo các nguyên tắc và khái niệm thiết kế, hướng đối tượng, đóng gói, kế thừa trừu tượng, các mẫu thiết kế đa hình, bao gồm, nhưng không giới hạn, hướng đối tượng, bản chất của tư duy hướng đối tượng, không phải là để giải quyết một vấn đề cụ thể, mà là để giải quyết một vấn đề của một loại công cụ tư duy, trong quá trình lập trình, việc áp dụng linh hoạt các ý tưởng hướng đối tượng có thể nâng cao hiệu quả lập trình, cải thiện chất lượng mã, nâng cao chất lượng phần mềm, dễ bảo trì, khả năng đọc mã tốt, cải thiện trình độ, có thể tránh được trong giai đoạn thiết kế càng nhiều càng tốt, cấu hình không cần thiết có thể được thực hiện, hãy để một thực thểNó có thể thay thế tất cả các thay thế ban đầu phụ thuộc vào chúng, huy động tính linh hoạt của chúng trong lớp kết hợp giao diện, nghĩa là phản ánh ý tưởng thiết kế lớp, trừu tượng hóa việc sử dụng các giao diện, ví dụ, việc xử lý lớp điều khiển nên trừu tượng hóa giao diện bộ điều khiển, sau đó lớp triển khai không cần phải dựa vào lớp của một lớp dịch vụ cụ thể, nhưng thông qua cuộc gọi của giao diện trừu tượng, lớp dịch vụ của lớp điều khiển có thể được thực hiện, để lớp điều khiển không phụ thuộc vào mã logic nghiệp vụ cụ thể, mức độ khớp nối được giảm, thuận tiện cho việc duy trì và mở rộng, và hệ thống linh hoạt hơn, thuận tiện cho việc kiểm tra đơn vị, để đảm bảo sự mạnh mẽ và ổn định của hệ thống, đồng thời giảm chi phí phát triển, nâng cao hiệu quả phát triển và phản ánh giá trị của ý tưởng hướng đối tượng để gọi nhu cầu kinh doanhKhi xem xét nó, chúng ta nên nghĩ đến việc giảm mức độ khớp nối của các lớp và tuân thủ một số thực tiễn tốt nhất, thông số kỹ thuật phát triển và ý tưởng phản hồi phát triển nhanh và phân tích nghiêm ngặt, thiết kế và kiến trúc tốt có thể mang lại trải nghiệm người dùng và giá trị kinh doanh tốt hơn, đảm bảo sự gắn kết cao và các nguyên tắc thiết kế khớp nối thấp của hệ thống và phản ánh giá trị của tư duy hướng đối tượngNó được thực hiện theo phương thức kinh doanh của người dùng, phương thức gọi nói chung là hoạt động lưu dữ liệu trước khi dọn dẹp và nó thường không được bao gồm trong quá trình gọi của phương thức này và công việc dọn dẹp có thể là hoạt động trực tiếp của cơ sở dữ liệu và có thể tránh được vấn đề đọc và ghi bẩn do giao dịch do đồng thời và các lý do khác, và phương pháp triển khai cụ thể sẽ được đưa ra trong mã sau, sau đây là một ví dụ đơn giản để chỉ ra cách làm trống quá trình xóa dữ liệu bảng, ở đây JPA EntityManager được sử dụng để vận hành cơ sở dữ liệu và chú thích Giao dịch Spring được sử dụng để đảm bảo tính nhất quán của giao dịch, để đảm bảo tính toàn vẹn của dữ liệu khi dữ liệu được làm trốngTính nhất quán là rất quan trọng đối với cơ sở dữ liệu, nếu không dữ liệu kinh doanh quan trọng sẽ bị mất, đây cũng là một điều rất phổ biến và phải được xử lý trong thiết kế và phát triển hệ thống, ngoại lệ đòi hỏi chúng ta phải hiểu đầy đủ và tuân thủ các nguyên tắc thiết kế và ý tưởng hướng đối tượng khi xử lý, và cuối cùng sắp xếp các ý tưởng và biện pháp phòng ngừa, làm rõ bối cảnh, công việc cụ thể để tóm tắt những thất bại ban đầu và kinh nghiệm thành công, trong thực tế, sau khi hiểu cụ thể về ý định thiết kế, mỗi trường hợp sử dụng bắt đầu dần dần phân chia, điều chỉnh từng cái một, tìm ra các vấn đề chính, nhanh chóng loại bỏ mã, thiết lập và phân tích các khó khăn xử lý hiện tại, các vấn đề chính, nắm bắt cụ thể logic cốt lõi, và sau đó cung cấp hỗ trợ để tìm cách thực hiện tốt hơn, và sau đó theo tình hình thực tếXác định kế hoạch phát triển phù hợp, hình thành giải pháp rõ ràng và thúc đẩy cải tiến quy trình phù hợp với giải pháp, tuân theo các thông số kỹ thuật phát triển phần mềm để viết chương trình đáp ứng nhu cầu của người dùng, nghĩa là xử lý logic chương trình mô-đun cần làm rõ trách nhiệm của từng mô-đun, phản ánh mức độ khớp nối thấp và các ý tưởng thiết kế khác trong cuộc gọi, đáp ứng đầy đủ các nguyên tắc thiết kế về tính phổ quát, nhất quán, hợp lý, tích hợp, hoàn thành mô-đun hiệu quả và nhanh chóng, càng nhiều càng tốt để đạt được sự tích hợp liền mạch, vào giai đoạn tiếp theo của quá trình hợp nhất mã, xem xét xem xét kỹ lưỡng và lặp đi lặp lại, xác định tính mạnh mẽ và ổn định của mã, tuân theo thói quen mã hóa tốt, viết kiểm tra đơn vị và kiểm tra tích hợp cho các đơn vị mã quan trọng và đảm bảo rằng sự mạnh mẽ và ổn định của hệ thống được thỏa mãnDưới tiền đề của các chỉ số hệ thống, hệ thống có khả năng mở rộng và ổn định cao, tối ưu hóa liên tục, để đạt được một cách hiệu quả và hiệu quả hơn, để dự đoán những thay đổi nhu cầu có thể xảy ra, thay đổi hệ thống dễ dàng được xử lý thông qua mô-đun hóa, duy trì tính mở tốt của hệ thống, để đạt được đáp ứng nhanh chóng với những thay đổi trong nhu cầu của khách hàng, quá trình phát triển lặp đi lặp lại, để đạt được thiết kế hệ thống thông tin chức năng, theo đúng sự phân tách mô-đun hệ thống, làm tốt công việc phối hợp, hình thành một sự trơn tru và trật tự, phản ứng nhanh, giải quyết vấn đề nhanh chóng, để nâng cao hiệu quả phát triển hệ thống và tốc độ phản hồi dự án, mang đến cho người dùng trải nghiệm chuyên nghiệp hơn, khẳng định đầy đủ nguyên tắc của khái niệm thiết kế, tính linh hoạt và cởi mở của thiết kế hệ thống, cải thiện tính ổn định của phần mềmTiềm năng cạnh tranh thương mại và lợi ích kinh tế do hiệu quả phát triển, chi phí bảo trì và phát triển hệ thống mang lại cho thấy rõ bản chất khoa học của các ý tưởng và phương pháp phát triển hệ thống có lợi cho sự phát triển lành mạnh và bền vững của phần mềm, để nhận ra giá trị kinh doanh của phần mềm, ví dụ, công việc trên được giới thiệu để bắt đầu thực hiện phương pháp viết bảng trống trong UserService trên đối tượng dịch vụ gọi lớp giao diện dịch vụ và việc triển khai phương thức thường được bao gồm trong thành phần của lớp Service trong quy trình này và Repository và các cấu trúc Repository tương tự khác được sử dụng để nhận ra lớp hoạt động cụ thể, đó là xử lý logic cụ thể và sự đơn giản của cơ sở dữ liệuĐóng gói đơn cuối cùng tạo ra một kết quả logic nghiệp vụ cụ thể, quá trình này thể hiện các đặc điểm đóng gói, trừu tượng, kế thừa, đa hình và các đặc điểm khác trong ý tưởng hướng đối tượng, ẩn các chi tiết bên trong thông qua đóng gói và chỉ hiển thị chúng cho người gọi bên ngoài thông qua giao diện, thể hiện nguyên tắc thiết kế gắn kết cao và khớp nối thấp, giảm mức độ khớp nối giữa các mô-đun, làm cho hệ thống mạnh mẽ, ổn định, an toàn và đáng tin cậy hơn, thể hiện các đặc điểm đóng gói, trừu tượng, kế thừa, đa hình và các đặc điểm khác của tư duy hướng đối tượng, thực hiện việc tái sử dụng mã thông qua mở rộng kế thừa, nâng cao hiệu quả phát triển và giảm chi phí phát triển, phản ánh giá trị của tư duy hướng đối tượng, và sau đó chúng ta xem xét các ví dụ mã cụ thể, trong ví dụ này, chúng ta sẽ sử dụng SpringBootJPA để thực hiệnBây giờ hãy xóa chức năng của bảng, trong phương thức này, chúng ta sẽ sử dụng EntityManager để vận hành và thông qua chú thích Giao dịch để đảm bảo tính nhất quán của giao dịch nhằm đảm bảo tính toàn vẹn của dữ liệu, đồng thời, chúng ta sẽ lưu ý rằng T chung được sử dụng trong các tham số phương thức để đại diện cho loại thực thể, phản ánh việc sử dụng generics trong ý tưởng hướng đối tượng, tăng khả năng tái sử dụng và tính linh hoạt của mã, đồng thời cải thiện khả năng bảo trì của hệ thống, thuận tiện cho việc mở rộng và bảo trì trong tương laiPhương pháp này tương đối đơn giản để thực hiện và phù hợp với hầu hết các tình huống trong đó bảng được xóa, nhưng tình huống cụ thể có thể thay đổi tùy thuộc vào mức độ phức tạp của các yêu cầu kinh doanh”}’Lấy nội dung văn bản này làm ví dụ, nó là một lời giải thích ngắn gọn về tầm quan trọng của các ý tưởng lập trình hướng đối tượng và vai trò của chúng trong quá trình phát triển phần mềm thực tế. Trong văn bản trên, chúng ta có thể thấy rằng các ý tưởng lập trình hướng đối tượng được sử dụng rộng rãi để giải quyết các vấn đề gặp phải trong quá trình phát triển và nhiều khía cạnh của toàn bộ thiết kế hệ thống, giúp tăng cường đáng kể khả năng bảo trì, khả năng đọc và khả năng tái sử dụng của mã, được trình bày chi tiết bên dưới. Đối tượng có thể bao gồm nhiều loại sự vật tồn tại trong thế giới thực, trong chương trình máy tính, nó có thể được hiểu là những thứ trong thế giới khách quan và mối quan hệ của chúng được mô tả bằng mã, để trừu tượng hóa sự tương ứng giữa thế giới khách quan và thế giới máy tính, trong quá trình thiết kế phần mềm, thông qua các ý tưởng lập trình hướng đối tượng, chúng ta có thể thiết kế tốt hơn một hệ thống có độ gắn kết cao và khớp nối thấp phù hợp hơn với nhu cầu thực tế, độ gắn kết cao có nghĩa là một lớp hoặc mô-đun chỉ làm những gì nó nên làm, có một trách nhiệm duy nhất, có chức năng rõ ràng và dễ bảo trì, trong khi khớp nối thấp có nghĩa là một lớp hoặc mô-đun có sự phụ thuộc thấp vào thế giới bên ngoài, dễ kiểm tra và bảo trì, giảm khả năng xảy ra lỗi, cải thiện độ bền của hệ thống và cải thiện độ mềmHiệu quả của phát triển phần mềm làm giảm chi phí phát triển và việc áp dụng các ý tưởng lập trình hướng đối tượng trong quá trình phát triển phần mềm thực tế chủ yếu được phản ánh ở các khía cạnh sau: Đóng gói trừu tượng kế thừa đa hình và các tính năng khác đóng gói che giấu trạng thái bên trong và chi tiết hoạt động của đối tượng, chỉ tiếp xúc với người gọi bên ngoài thông qua giao diện, cải thiện khả năng bảo trì và khả năng đọc của mã, giảm mức độ khớp nối của mô-đun, kế thừa mã để nhận ra việc tái sử dụng mã, đơn giản hóa mã, tránh nhiều công việc lặp đi lặp lại, thuốc generic làm tăng khả năng tái sử dụng và tính linh hoạt của mã, và nâng cao hiệu quả phát triển, Ngoài ra, trong giai đoạn thiết kế, cũng cần phải hiểu đầy đủ các yêu cầu của người dùng, phân chia trách nhiệm của mô-đun, để tuân theo các nguyên tắc thiết kế mô-đun, độ gắn kết cao và khớp nối thấp trong giai đoạn thiết kế, và cuối cùng trong toàn bộ quá trình phát triển phần mềm, chúng ta cần tuân theo thói quen mã hóa tốt và nguyên tắc thiết kế để kiểm tra nghiêm ngặt để đảm bảo sự mạnh mẽ và ổn định của phần mềmTóm lại, tầm quan trọng của các ý tưởng lập trình hướng đối tượng chủ yếu được phản ánh trong việc tăng cường khả năng bảo trì, khả năng đọc và khả năng tái sử dụng của mã, đóng vai trò quan trọng trong quá trình phát triển phần mềm thực tế, giúp chúng tôi giải quyết tốt hơn các vấn đề gặp phải, thiết kế một hệ thống có độ gắn kết cao và khớp nối thấp phù hợp hơn với nhu cầu thực tế, nâng cao hiệu quả phát triển phần mềm và tốc độ đáp ứng của dự án, giảm chi phí phát triển, nâng cao khả năng cạnh tranh kinh doanh tiềm năng và hỗ trợ mạnh mẽ cho sự phát triển lành mạnh và bền vững của phần mềm. Lập trình hướng đối tượng đóng một vai trò quan trọng trong quá trình phát triển phần mềm. Nó có thể giúp chúng tôi thiết kế tốt hơn một hệ thống gắn kết cao và khớp nối thấp đáp ứng nhu cầu thực tế và tăng cường khả năng bảo trì, khả năng đọc và khả năng tái sử dụng của mã. Thông qua việc áp dụng đóng gói, trừu tượng, kế thừa, đa hình và các tính năng khác, chúng ta có thể ẩn trạng thái bên trong và chi tiết hoạt động của các đối tượng và chỉ hiển thị chúng cho người gọi bên ngoài thông qua các giao diện, cải thiện khả năng bảo trì và khả năng đọc của mã. Kế thừa cho phép chúng ta sử dụng lại mã mà không cần nhiều công việc lặp đi lặp lại. Các ứng dụng chung làm tăng khả năng tái sử dụng mã và tính linh hoạt, đồng thời cải thiện hiệu quả phát triển.
Trong quá trình phát triển phần mềm thực tế, chúng ta cần hiểu đầy đủ nhu cầu của người dùng, phân chia trách nhiệm của các phân hệ và tuân theo các nguyên tắc thiết kế mô-đun hóa, độ gắn kết cao và khớp nối thấp. Đồng thời, chúng ta cần tuân theo thói quen mã hóa và nguyên tắc thiết kế tốt, đồng thời tiến hành kiểm tra nghiêm ngặt để đảm bảo tính mạnh mẽ và ổn định của phần mềm. Trong quá trình này, việc áp dụng các ý tưởng lập trình hướng đối tượng chủ yếu được phản ánh ở các khía cạnh sau: tăng cường khả năng bảo trì của mã,