Below is a beginner-friendly, step-by-step guide to create a Java-based School Database Management System using NetBeans + XAMPP (MySQL).
This guide covers project setup, database creation, connecting Java to MySQL, CRUD operations, and sample code.
1. Install Required Tools
✔ Install NetBeans IDE
Download from: Apache NetBeans (search in browser).
✔ Install XAMPP Server
Includes MySQL and phpMyAdmin.
✔ Install JDK (Java Development Kit)
Minimum Java 8 or above.
2. Start XAMPP and Create MySQL Database
- Open XAMPP Control Panel
- Start:
- Apache (optional, only for phpMyAdmin)
- MySQL
- Open phpMyAdmin (localhost/phpmyadmin)
✔ Create a new database:
school_db
✔ Create tables:
students table
CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
class VARCHAR(20),
section VARCHAR(5),
email VARCHAR(100)
);
teachers table
CREATE TABLE teachers (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
subject VARCHAR(50),
phone VARCHAR(15)
);
3. Create Java Project in NetBeans
- Open NetBeans → File → New Project
- Select: Java with Ant → Java Application
- Project Name:
SchoolManagementSystem
- Uncheck “Create Main Class” (optional).
4. Add MySQL JDBC Connector
Java needs a connector to communicate with MySQL.
Steps:
- Download mysql-connector-j.jar
- In NetBeans → Right click project → Properties
- Libraries → Add JAR/Folder
- Select the downloaded JAR.
Now Java can connect to MySQL.
5. Create Database Connection Class
Create a package:
com.school.db
Create a class:
package com.school.db;
import java.sql.Connection;
import java.sql.DriverManager;
public class DBConnection {
public static Connection getConnection() {
Connection con = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/school_db",
"root", ""
);
System.out.println("Database Connected!");
} catch (Exception e) {
e.printStackTrace();
}
return con;
}
}
6. Create GUI (Swing) for School Management
You can create forms using:
NetBeans → New → JFrame Form
Common screens:
- Student Registration Form
- Teacher Management Form
- Dashboard
- Search/Delete/Update Forms
7. Insert Data into MySQL (Java Code Example)
Example: Add Student
Connection con = DBConnection.getConnection();
String sql = "INSERT INTO students(name, class, section, email) VALUES (?, ?, ?, ?)";
PreparedStatement pst = con.prepareStatement(sql);
pst.setString(1, txtName.getText());
pst.setString(2, txtClass.getText());
pst.setString(3, txtSection.getText());
pst.setString(4, txtEmail.getText());
pst.executeUpdate();
JOptionPane.showMessageDialog(this, "Student Added Successfully!");
8. Fetch All Students (Display in JTable)
DefaultTableModel model = (DefaultTableModel) tableStudents.getModel();
model.setRowCount(0);
Connection con = DBConnection.getConnection();
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM students");
while (rs.next()) {
model.addRow(new Object[]{
rs.getInt("id"),
rs.getString("name"),
rs.getString("class"),
rs.getString("section"),
rs.getString("email")
});
}
9. Update Student Details
String sql = "UPDATE students SET name=?, class=?, section=?, email=? WHERE id=?";
PreparedStatement pst = con.prepareStatement(sql);
pst.setString(1, txtName.getText());
pst.setString(2, txtClass.getText());
pst.setString(3, txtSection.getText());
pst.setString(4, txtEmail.getText());
pst.setInt(5, Integer.parseInt(txtId.getText()));
pst.executeUpdate();
JOptionPane.showMessageDialog(this, "Student Updated!");
10. Delete Student
String sql = "DELETE FROM students WHERE id=?";
PreparedStatement pst = con.prepareStatement(sql);
pst.setInt(1, Integer.parseInt(txtId.getText()));
pst.executeUpdate();
JOptionPane.showMessageDialog(this, "Student Deleted!");
Project Structure Example
SchoolManagementSystem/
│
├── src/
│ ├── com.school.db/
│ │ └── DBConnection.java
│ ├── com.school.ui/
│ │ ├── StudentForm.java
│ │ ├── TeacherForm.java
│ │ └── Dashboard.java
│ └── com.school.main/
│ └── Main.java
│
├── mysql-connector-j.jar
└── build.xml
Your Project is Ready!
You now have:
✔ Database created
✔ Java connected with MySQL
✔ CRUD operations
✔ GUI forms
✔ Fully working School Management System
0 Comments