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

 
 
 

Contributors

Languages