A desktop-based student database management system built using Java with a graphical interface and database connectivity using MariaDB.
This system allows administrators to add, filter, view, and delete student records through an interactive GUI application. The program connects to a relational database using the MariaDB Java Client to perform database operations.
The application demonstrates how GUI applications interact with databases, which is a fundamental concept in backend development and enterprise software systems.
GitHub
https://github.com/Abineshabee/Students-Database-Management-System
The Advanced Student Management System provides a graphical interface for managing student records stored in a relational database.

Users can:
• Add new student records • View students in a table • Filter students by multiple parameters • Retrieve specific students using ID • Delete student records • Connect to a MariaDB database
The project demonstrates full-stack desktop development using Java GUI and SQL databases.
The system follows a three-layer architecture.
User Interface (GUI)
↓
Application Logic (Java)
↓
Database Layer (MariaDB)
Components:
- GUI Layer – Built using Java Swing
- Business Logic – Java program logic
- Database Layer – MariaDB database
The program provides an interactive dashboard.
Main sections include:
• Student Information Form • Student Table View • Filtering System • Student Retrieval • Student Deletion
The interface displays all records in a table view with multiple columns such as:
ID Name Gender Age Year Section Course
The system supports full record operations:
Add Student View Students Get Student by ID Delete Student
The system allows filtering based on multiple parameters.
Filter options include:
• Year • Gender • Maximum Age • Course • Section
Example:
Filter all 3rd Year CSE students under age 22.
All students are displayed in a table containing:
| Field | Description |
|---|---|
| ID | Unique student ID |
| Name | Student name |
| Gender | Male / Female |
| Age | Student age |
| Year | Academic year |
| Section | Class section |
| Course | Degree program |
The application connects to a MariaDB database using JDBC.
Database operations include:
• INSERT student data • SELECT records • DELETE records • FILTER queries
Database driver used:
mariadb-java-client-3.4.1.jar
| Technology | Purpose |
|---|---|
| Java | Core application development |
| Java Swing | Graphical User Interface |
| MariaDB | Database management |
| JDBC | Database connection |
| Linux | Development environment |
Students-Database-Management-System
│
├── StudentManagementGUI3.java
├── mariadb-java-client-3.4.1.jar
├── database.sql
└── README.md
Example table structure:
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(100),
gender VARCHAR(10),
age INT,
year VARCHAR(20),
section VARCHAR(20),
course VARCHAR(50)
);Compile the program with the MariaDB driver.
javac -cp .:mariadb-java-client-3.4.1.jar StudentManagementGUI3.java
Run the program:
java -cp .:mariadb-java-client-3.4.1.jar StudentManagementGUI3
Adds a new student record to the database.
Inputs:
Name Age Gender Year Section Course
The data is inserted using SQL:
INSERT INTO students VALUES (...)
Allows filtering based on multiple criteria.
Example query:
SELECT * FROM students
WHERE year='3rd Year'
AND course='CSE'
AND age <= 22
Retrieves a specific student record.
Example query:
SELECT * FROM students WHERE id = ?
Deletes a student from the database.
Example query:
DELETE FROM students WHERE id = ?
The application uses Java Swing components.
| Component | Purpose |
|---|---|
| JFrame | Main application window |
| JTable | Display student data |
| JTextField | Input fields |
| JComboBox | Dropdown filters |
| JButton | Action buttons |
| JScrollPane | Scrollable table view |
Step 1 Start the program.
Step 2 View all students in the table.
Step 3 Add a new student using the form.
Step 4 Apply filters to find specific students.
Step 5 Retrieve student details using ID.
Step 6 Remove students from the database.
| ID | Name | Gender | Age | Year | Section | Course |
|---|---|---|---|---|---|---|
| 1 | Alice Johnson | Female | 20 | 1st Year | A | CSE |
| 6 | Abinesh | Male | 22 | 1st Year | A | IT |
| 18 | Tharun | Male | 20 | 2nd Year | D | CIVIL |
This project demonstrates:
• Java GUI application development • Database connectivity using JDBC • SQL query execution • Desktop application architecture • Real-world CRUD database operations
It is useful for students learning:
• Software engineering • Database management systems • Java desktop development
Possible improvements include:
• Student update feature • Login authentication system • Export data to CSV/Excel • Advanced search filters • REST API integration • Web-based version using Spring Boot
Abinesh N
GitHub https://github.com/Abineshabee