首先需要明确几个概念:
- JDBC:Java数据库连接,是一个用于执行SQL语句的Java API。
- MySQL:一个开源的关系型数据库。
- IDEA:一个常用的Java开发工具。
下面是基于JDBC实现简单学生管理系统的步骤:
1. 创建表
首先需要创建一张学生表,表的结构可以由以下字段组成:
- 学生ID
- 学生姓名
- 学生年龄
- 学生性别
- 学生班级
可以使用以下SQL语句创建学生表:
CREATE TABLE student(
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(20) NOT NULL,
age INT(3) NOT NULL,
gender VARCHAR(10) NOT NULL,
classname VARCHAR(20) NOT NULL
);
2. 导入JDBC驱动
JDBC驱动是用于访问MySQL数据库的必要组件,在代码中需要引入相应的JDBC驱动包。可以从Maven仓库下载JDBC驱动包,也可以手动下载jar包并导入到项目中。
<!-- 从Maven仓库引入MySQL JDBC驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.24</version>
</dependency>
3. 编写连接数据库的代码
在Java程序中通过JDBC连接MySQL数据库,需要准备以下步骤:
- 加载JDBC驱动
- 建立与MySQL数据库的连接
- 创建一个Statement对象
- 执行SQL语句
- 处理查询结果
示例代码:
import java.sql.*;
public class StudentManager {
public static void main(String[] args) throws SQLException {
// 加载MySQL JDBC驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 建立与MySQL数据库的连接
String url = "jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8";
String user = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, user, password);
// 创建一个Statement对象
Statement stmt = conn.createStatement();
// 执行查询语句
String sql = "SELECT * FROM student";
ResultSet rs = stmt.executeQuery(sql);
// 处理查询结果
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String gender = rs.getString("gender");
String classname = rs.getString("classname");
System.out.println(id + "\t" + name + "\t" + age + "\t"
+ gender + "\t" + classname);
}
// 关闭资源
rs.close();
stmt.close();
conn.close();
}
}
4. 实现学生信息的增删改查
对学生信息进行增删改查,需要在代码中构造相应的SQL语句,并通过Statement对象执行。
- 查询所有学生信息
String sql = "SELECT * FROM student";
ResultSet rs = stmt.executeQuery(sql);
- 查询指定学生信息
int id = 1;
String sql = "SELECT * FROM student WHERE id = " + id;
ResultSet rs = stmt.executeQuery(sql);
- 添加学生信息
String name = "张三";
int age = 18;
String gender = "男";
String classname = "计算机科学与技术";
String sql = "INSERT INTO student(name, age, gender, classname) VALUES('"
+ name + "'," + age + ",'" + gender + "','" + classname + "')";
stmt.executeUpdate(sql);
- 修改学生信息
int id = 1;
String name = "张三";
int age = 18;
String gender = "男";
String classname = "计算机科学与技术";
String sql = "UPDATE student SET name='" + name + "',age=" + age
+ ",gender='" + gender + "',classname='" + classname + "' WHERE id=" + id;
stmt.executeUpdate(sql);
- 删除学生信息
int id = 1;
String sql = "DELETE FROM student WHERE id=" + id;
stmt.executeUpdate(sql);
5. 将学生信息封装为Java对象
为了方便操作,可以将学生信息封装为一个Java对象,并实现相应的get/set方法。
public class Student {
private int id;
private String name;
private int age;
private String gender;
private String classname;
// ...
// get/set方法
}
6. 使用PreparedStatement对象执行SQL语句
对于包含占位符的SQL语句,建议使用PreparedStatement对象执行,可以避免SQL注入等问题。
示例代码:
String name = "张三";
int age = 18;
String gender = "男";
String classname = "计算机科学与技术";
String sql = "INSERT INTO student(name, age, gender, classname) VALUES(?, ?, ?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setInt(2, age);
pstmt.setString(3, gender);
pstmt.setString(4, classname);
pstmt.executeUpdate();
pstmt.close();
到此,Java基于JDBC实现简单学生管理系统的攻略就讲解完了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java基于jdbc实现简单学生管理系统 - Python技术站