0% found this document useful (0 votes)
6 views5 pages

MySQL Student CRUD Java App

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views5 pages

MySQL Student CRUD Java App

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

1.

Tạo bảng Student trên MySQL


sql
CREATE DATABASE SchoolDB;

USE SchoolDB;

CREATE TABLE Student (


id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
age INT NOT NULL,
grade VARCHAR(10)
);

2. Kết nối MySQL trong Java


Ban can them thư vien MySQL Connector vao dư an (thường la [Link]).

3. Thêm dữ liệu để chạy chương trình


USE SchoolDB;

-- Insert sample records into the Student table


INSERT INTO Student (name, age, grade) VALUES ('Alice Johnson', 18, 'A');
INSERT INTO Student (name, age, grade) VALUES ('Bob Smith', 19, 'B');
INSERT INTO Student (name, age, grade) VALUES ('Charlie Brown', 20, 'A');
INSERT INTO Student (name, age, grade) VALUES ('Diana Prince', 21, 'C');
INSERT INTO Student (name, age, grade) VALUES ('Ethan Hunt', 22, 'B');
INSERT INTO Student (name, age, grade) VALUES ('Fiona Gallagher', 18, 'A');
INSERT INTO Student (name, age, grade) VALUES ('George Martin', 23, 'D');
INSERT INTO Student (name, age, grade) VALUES ('Hannah Baker', 19, 'B');
INSERT INTO Student (name, age, grade) VALUES ('Ian Somerhalder', 20, 'A');
INSERT INTO Student (name, age, grade) VALUES ('Jenna Ortega', 22, 'C');

4. Chương trình Java

package mypack;

import [Link].*;
import [Link];
import [Link].*;
import [Link].*;
import [Link].*;

public class StudentCRUDApp {


private JFrame frame;
private JTable table;
private DefaultTableModel model;

1
private JTextField txtName, txtAge, txtGrade, txtId;

private Connection conn;

public StudentCRUDApp() {
initializeDatabase();
initializeUI();
}

private void initializeDatabase() {


try {
conn = [Link]("jdbc:mysql://localhost:3306/SchoolDB", "root",
"12345");
} catch (SQLException e) {
[Link](null, "Database connection failed!");
[Link]();
}
}

private void initializeUI() {


frame = new JFrame("Student CRUD Application");
[Link](JFrame.EXIT_ON_CLOSE);
[Link](800, 600);
[Link](new BorderLayout());
[Link](null); // Center the frame

// Table and Model


model = new DefaultTableModel(new String[]{"ID", "Name", "Age", "Grade"}, 0);
table = new JTable(model);
loadStudents();
[Link](new JScrollPane(table), [Link]);

// Input Panel
JPanel inputPanel = new JPanel(new GridLayout(4, 2, 10, 10));
[Link]([Link]("Student Information"));

[Link](new JLabel("ID:"));
txtId = new JTextField();
[Link](false);
[Link](txtId);

[Link](new JLabel("Name:"));
txtName = new JTextField();
[Link](txtName);

[Link](new JLabel("Age:"));
2
txtAge = new JTextField();
[Link](txtAge);

[Link](new JLabel("Grade:"));
txtGrade = new JTextField();
[Link](txtGrade);

[Link](inputPanel, [Link]);

// Button Panel
JPanel buttonPanel = new JPanel(new FlowLayout([Link], 10, 10));
[Link]([Link]("Actions"));

JButton btnSave = new JButton("Save");


[Link](e -> saveStudent());
[Link](btnSave);

JButton btnUpdate = new JButton("Update");


[Link](e -> updateStudent());
[Link](btnUpdate);

JButton btnDelete = new JButton("Delete");


[Link](e -> deleteStudent());
[Link](btnDelete);

JButton btnClear = new JButton("Clear");


[Link](e -> clearForm());
[Link](btnClear);

[Link](buttonPanel, [Link]);

// Table Row Selection


[Link](new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
int selectedRow = [Link]();
[Link]([Link](selectedRow, 0).toString());
[Link]([Link](selectedRow, 1).toString());
[Link]([Link](selectedRow, 2).toString());
[Link]([Link](selectedRow, 3).toString());
}
});

[Link](true);
}

private void loadStudents() {


3
try {
[Link](0);
Statement stmt = [Link]();
ResultSet rs = [Link]("SELECT * FROM Student");
while ([Link]()) {
[Link](new Object[]{
[Link]("id"),
[Link]("name"),
[Link]("age"),
[Link]("grade")
});
}
} catch (SQLException e) {
[Link]();
}
}

private void saveStudent() {


String name = [Link]();
String age = [Link]();
String grade = [Link]();

try {
PreparedStatement stmt = [Link]("INSERT INTO Student (name, age,
grade) VALUES (?, ?, ?)");
[Link](1, name);
[Link](2, [Link](age));
[Link](3, grade);
[Link]();
[Link](frame, "Student added successfully!");
loadStudents();
clearForm();
} catch (SQLException e) {
[Link]();
}
}

private void updateStudent() {


String id = [Link]();
String name = [Link]();
String age = [Link]();
String grade = [Link]();

try {
PreparedStatement stmt = [Link]("UPDATE Student SET name = ?, age =
?, grade = ? WHERE id = ?");
4
[Link](1, name);
[Link](2, [Link](age));
[Link](3, grade);
[Link](4, [Link](id));
[Link]();
[Link](frame, "Student updated successfully!");
loadStudents();
clearForm();
} catch (SQLException e) {
[Link]();
}
}

private void deleteStudent() {


String id = [Link]();

try {
PreparedStatement stmt = [Link]("DELETE FROM Student WHERE id =
?");
[Link](1, [Link](id));
[Link]();
[Link](frame, "Student deleted successfully!");
loadStudents();
clearForm();
} catch (SQLException e) {
[Link]();
}
}

private void clearForm() {


[Link]("");
[Link]("");
[Link]("");
[Link]("");
}

public static void main(String[] args) {


[Link](StudentCRUDApp::new);
}
}

You might also like