Week 13.
Java Database Connectivity & Servlet API and JDBC
1) Library Management System: Book Checkout and Return
Objective: Build a basic Library Management System where users can checkout and
return books.
Setup: Create a database named LibraryDB with tables Books (columns: book_id, title,
author, is_available) and Users (columns: user_id, name, email).
Tasks:
1. Write a JDBC program that allows users to view all available books.
2. Implement a checkoutBook() method that takes a user_id and book_id and
updates the is_available column in the Books table.
3. Implement a returnBook() method that updates is_available back to true.
Challenges: Handle cases where a book is not available for checkout or the user tries
to return a book they haven't checked out.
2) Employee Database Management System
Objective: Create a console-based Java application to manage employee records in an
SQLite or MySQL database.
Tasks:
Establish a connection to the database.
Implement CRUD operations for employee records (e.g., addEmployee,
viewEmployee, updateEmployee, and deleteEmployee).
Use PreparedStatement to avoid SQL injection.
Add basic error handling to capture potential SQL exceptions.
Expected Outcome: Practice managing database connections, performing CRUD
operations, and handling exceptions.
3) Building a Mini Student Database with CRUD Operations
Objective: Develop a mini database application to manage student records, with
Create, Read, Update, and Delete (CRUD) functionality
Requirements:
Create a Student table in a relational database (e.g., MySQL, PostgreSQL)
with columns for student_id, name, age, and grade.
Implement a Java class, StudentDAO, using JDBC to:
i. Insert new student records.
ii. Retrieve all student records or by student_id.
iii. Update existing student records by student_id.
iv. Delete a student record by student_id.
Use PreparedStatement for all SQL queries to prevent SQL injection.
4) User Registration and Login System
Objective: Develop a basic user management system where users can register, log
in, and view their profile information.
Requirements:
Create a MySQL database with a users table containing fields like user_id,
username, password, email, and created_at.
Use a registration servlet to handle new user sign-ups. Validate data before
storing it in the database using JDBC.
Implement a login servlet to authenticate users based on their username and
password.
Redirect successful logins to a profile servlet, which displays the user’s
information retrieved from the database.
5) Product Management System with Search Functionality
Objective: Build a product catalog management system that allows users to add,
update, delete, and search for products.
Requirements:
Set up a products table in MySQL with fields like product_id, product_name,
description, price, and category.
Develop servlets for adding, updating, and deleting products, using JDBC for
database interactions.
Implement a search servlet that allows users to filter products by name,
category, or price range.
Display search results dynamically on a JSP page.
Key Concepts Covered: Data filtering, servlet-JDBC CRUD operations, JSP integration,
MVC pattern.