diff --git a/lesson_28/db/db_app/src/main/java/com/codedifferently/lesson28/models/LibraryUserModel.java b/lesson_28/db/db_app/src/main/java/com/codedifferently/lesson28/models/LibraryUserModel.java new file mode 100644 index 000000000..74c8145f9 --- /dev/null +++ b/lesson_28/db/db_app/src/main/java/com/codedifferently/lesson28/models/LibraryUserModel.java @@ -0,0 +1,21 @@ +package com.codedifferently.lesson28.models; + +import java.util.UUID; + +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; + +@Entity +@Table(name = "library_users") +public class LibraryUserModel { + @Id public String id; + public String email; + public String first_name; + public String last_name; + public String password; + + public LibraryUserModel() { + this.id = UUID.randomUUID().toString(); + } +} diff --git a/lesson_28/db/db_app/src/main/java/com/codedifferently/lesson28/repository/LibraryUserRepository.java b/lesson_28/db/db_app/src/main/java/com/codedifferently/lesson28/repository/LibraryUserRepository.java new file mode 100644 index 000000000..aca7caa3d --- /dev/null +++ b/lesson_28/db/db_app/src/main/java/com/codedifferently/lesson28/repository/LibraryUserRepository.java @@ -0,0 +1,12 @@ +package com.codedifferently.lesson28.repository; + +import java.util.List; + +import org.springframework.data.repository.CrudRepository; + +import com.codedifferently.lesson28.models.LibraryUserModel; + +public interface LibraryUserRepository extends CrudRepository{ + @Override + List findAll(); +} diff --git a/lesson_28/db/db_app/src/main/resources/queries/amiyahjones.sql b/lesson_28/db/db_app/src/main/resources/queries/amiyahjones.sql new file mode 100644 index 000000000..456912b55 --- /dev/null +++ b/lesson_28/db/db_app/src/main/resources/queries/amiyahjones.sql @@ -0,0 +1,27 @@ +-- returns the counts of media items by type. +SELECT + type, COUNT(*) AS item_count +FROM + media_items +GROUP BY + type; + +-- returns the sum of total pages checked out by guests. +SELECT + SUM(media_items.pages) AS total_pages +FROM + media_items + inner join checked_out_items ch on media_items.id = ch.item_id +WHERE + media_items.pages IS NOT NULL; + +-- shows all 5 guests +-- and any corresponding records in the checked_out_items table +SELECT + guests.name , + ch.email, + ch.item_id , + ch.due_date +FROM + guests +inner join checked_out_items ch on guests.email = ch.email; \ No newline at end of file diff --git a/lesson_28/db/db_app/src/main/resources/sqlite/library_users.db b/lesson_28/db/db_app/src/main/resources/sqlite/library_users.db new file mode 100644 index 000000000..6209f92cf Binary files /dev/null and b/lesson_28/db/db_app/src/main/resources/sqlite/library_users.db differ