A simple Library Management System implemented in Java using JDBC with SQLite.
- Add/list/search books
- Add/list members
- Borrow/return books, track availability
- View active loans
- Java 17
- SQLite (
library.db) - JDBC (
org.xerial:sqlite-jdbc) - Maven build, fat JAR packaging
cd /Users/saksham/javaDBMS
mvn clean packageProduces: target/library-dbms-1.0.0-jar-with-dependencies.jar.
java -jar target/library-dbms-1.0.0-jar-with-dependencies.jarCreates library.db on first run and applies schema.
java -jar target/library-dbms-1.0.0-jar-with-dependencies.jar guiOpens a Swing app with tabs for Books, Members, and Loans.
- Add member → name/email
- Add book → title/author/ISBN/copies
- List books/members for IDs
- Borrow → provide Book ID + Member ID
- List active loans
- Return → same IDs
CREATE TABLE IF NOT EXISTS books (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
author TEXT NOT NULL,
isbn TEXT UNIQUE NOT NULL,
total_copies INTEGER NOT NULL,
available_copies INTEGER NOT NULL
);
CREATE TABLE IF NOT EXISTS members (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT UNIQUE NOT NULL
);
CREATE TABLE IF NOT EXISTS loans (
id INTEGER PRIMARY KEY AUTOINCREMENT,
book_id INTEGER NOT NULL,
member_id INTEGER NOT NULL,
loan_date TEXT NOT NULL,
return_date TEXT,
FOREIGN KEY(book_id) REFERENCES books(id),
FOREIGN KEY(member_id) REFERENCES members(id)
);- Add MySQL driver to
pom.xmland change JDBC URL inDatabase.