From b7932cead72e1208bab90f9bf3a80f5d9af2328a Mon Sep 17 00:00:00 2001 From: namaskruti pal Date: Tue, 10 Jun 2025 12:46:13 +0530 Subject: [PATCH] Added feature to count total owners and display on a new page --- .../samples/petclinic/owner/OwnerController.java | 6 ++++++ .../samples/petclinic/owner/OwnerRepository.java | 3 +++ src/main/resources/templates/owners/ownerCount.html | 11 +++++++++++ 3 files changed, 20 insertions(+) create mode 100644 src/main/resources/templates/owners/ownerCount.html diff --git a/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java b/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java index 1348457ee..a07aa2ac0 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java @@ -169,5 +169,11 @@ class OwnerController { mav.addObject(owner); return mav; } + @GetMapping("/owners/count") + public String countOwners(Model model) { + int count = owners.countOwners(); + model.addAttribute("count", count); + return "owners/ownerCount"; // we'll create this HTML view next + } } diff --git a/src/main/java/org/springframework/samples/petclinic/owner/OwnerRepository.java b/src/main/java/org/springframework/samples/petclinic/owner/OwnerRepository.java index 9384b318e..87ca0a288 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/OwnerRepository.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/OwnerRepository.java @@ -62,4 +62,7 @@ public interface OwnerRepository extends JpaRepository { */ Optional findById(@Nonnull Integer id); + @Query("SELECT COUNT(o) FROM Owner o") + int countOwners(); + } diff --git a/src/main/resources/templates/owners/ownerCount.html b/src/main/resources/templates/owners/ownerCount.html new file mode 100644 index 000000000..f4115534e --- /dev/null +++ b/src/main/resources/templates/owners/ownerCount.html @@ -0,0 +1,11 @@ + + + + Owner Count + + +

Total number of owners: 0

+Back to Owners List + + +