Skip to content

SakD2006/DBMS---Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java Library Management System (DBMS)

A simple Library Management System implemented in Java using JDBC with SQLite.

Features

  • Add/list/search books
  • Add/list members
  • Borrow/return books, track availability
  • View active loans

Tech

  • Java 17
  • SQLite (library.db)
  • JDBC (org.xerial:sqlite-jdbc)
  • Maven build, fat JAR packaging

Build

cd /Users/saksham/javaDBMS
mvn clean package

Produces: target/library-dbms-1.0.0-jar-with-dependencies.jar.

Run

java -jar target/library-dbms-1.0.0-jar-with-dependencies.jar

Creates library.db on first run and applies schema.

GUI mode

java -jar target/library-dbms-1.0.0-jar-with-dependencies.jar gui

Opens a Swing app with tabs for Books, Members, and Loans.

CLI flow

  1. Add member → name/email
  2. Add book → title/author/ISBN/copies
  3. List books/members for IDs
  4. Borrow → provide Book ID + Member ID
  5. List active loans
  6. Return → same IDs

Schema (for reference)

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)
);

Switch to MySQL (optional)

  • Add MySQL driver to pom.xml and change JDBC URL in Database.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages