JavaSE实战Demo实现指南
简介
本文将指导你如何实现一个JavaSE实战Demo。在这个Demo中,我们将创建一个简单的学生管理系统,实现学生的增删改查功能。
整体流程
下面是整个项目的流程图,通过这个流程图,你可以清晰地了解到项目的整体框架和每个步骤之间的关系。
graph TD;
A(开始)-->B(创建项目)-->C(创建数据库表)-->D(实现数据访问层)-->E(实现业务逻辑层)-->F(实现展示层)-->G(完成)
C-->D;
D-->E;
E-->F;
F-->G;
详细步骤
步骤1:创建项目
在开始之前,首先需要创建一个新的Java项目。你可以使用任何你熟悉的IDE,如Eclipse或IntelliJ IDEA。
步骤2:创建数据库表
在这个Demo中,我们将使用MySQL数据库存储学生信息。首先,你需要创建一个名为"student"的数据库和一个名为"students"的数据表。
CREATE DATABASE student;
USE student;
CREATE TABLE students (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
age INT,
gender VARCHAR(10)
);
步骤3:实现数据访问层
数据访问层(Data Access Layer,简称DAO)负责与数据库进行交互,包括增删改查等操作。在这一步中,我们将实现一个名为"StudentDAO"的类,并在其中实现这些操作。
public class StudentDAO {
private Connection connection;
// 构造函数,用于初始化数据库连接
public StudentDAO() {
String url = "jdbc:mysql://localhost:3306/student";
String username = "your-username";
String password = "your-password";
try {
connection = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
e.printStackTrace();
}
}
// 查询所有学生信息
public List<Student> getAllStudents() {
List<Student> students = new ArrayList<>();
try {
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM students");
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
String gender = resultSet.getString("gender");
students.add(new Student(id, name, age, gender));
}
} catch (SQLException e) {
e.printStackTrace();
}
return students;
}
// 添加学生信息
public void addStudent(Student student) {
String sql = "INSERT INTO students (name, age, gender) VALUES (?, ?, ?)";
try {
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1, student.getName());
statement.setInt(2, student.getAge());
statement.setString(3, student.getGender());
statement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 更新学生信息
public void updateStudent(Student student) {
String sql = "UPDATE students SET name = ?, age = ?, gender = ? WHERE id = ?";
try {
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1, student.getName());
statement.setInt(2, student.getAge());
statement.setString(3, student.getGender());
statement.setInt(4, student.getId());
statement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 删除学生信息
public void deleteStudent(int id) {
String sql = "DELETE FROM students WHERE id = ?";
try {
PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1, id);
statement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
步骤4:实现业务逻辑层
业务逻辑层(Business Logic Layer,简称BLL)负责处理业务逻辑,例如对学生信息的验证和处理。在这一步中,我们将实现一个名为"StudentService"的类,并在其中实现这些业务逻辑。
public class StudentService {
private StudentDAO studentDAO;
// 构造函数,用于初始化数据访问层
public StudentService() {
studentDAO = new StudentDAO();
}
// 获取所有学生信息
public List<Student> getAllStudents() {
return studentDAO.getAllStudents();
}