引言
Java数据库交互是Java编程中不可或缺的一部分,它允许Java应用程序与各种数据库进行通信,执行SQL查询、更新、插入和删除等操作。本文将提供一个实战教程,帮助读者轻松掌握Java数据库交互。
环境准备
在开始之前,请确保以下环境已经准备好:
- 安装Java开发环境(JDK)。
- 安装数据库(如MySQL、Oracle等)。
- 添加数据库驱动到项目中(例如,MySQL的Connector/J)。
第一步:加载数据库驱动
在Java代码中,首先需要加载数据库驱动。以下是如何加载MySQL驱动的示例:
Class.forName("com.mysql.cj.jdbc.Driver");
第二步:建立数据库连接
使用DriverManager.getConnection()
方法建立数据库连接。以下是如何连接到MySQL数据库的示例:
String url = "jdbc:mysql://localhost:3306/testdb";
String user = "root";
String pass = "password";
Connection connection = DriverManager.getConnection(url, user, pass);
第三步:创建SQL语句
创建SQL语句对象,可以使用Connection.createStatement()
或Connection.prepareStatement()
方法。以下是一个使用PreparedStatement
的示例:
String sql = "INSERT INTO users (username, password) VALUES (?, ?)";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1, "user1");
statement.setString(2, "pass1");
第四步:执行SQL语句
使用PreparedStatement
的executeUpdate()
方法执行SQL语句:
int rowsAffected = statement.executeUpdate();
System.out.println("Rows affected: " + rowsAffected);
第五步:处理结果集
对于查询操作,使用executeQuery()
方法执行SQL语句,并处理返回的ResultSet
对象:
String sql = "SELECT * FROM users";
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()) {
int id = resultSet.getInt("id");
String username = resultSet.getString("username");
String password = resultSet.getString("password");
System.out.println("ID: " + id + ", Username: " + username + ", Password: " + password);
}
第六步:清理环境
在完成数据库操作后,关闭ResultSet
、PreparedStatement
和Connection
对象,释放资源:
resultSet.close();
statement.close();
connection.close();
实战案例:学生信息管理系统
以下是一个简单的学生信息管理系统示例,它实现了学生信息的录入、查询、修改和删除功能。
// Student类表示学生信息模型
class Student {
private int id;
private String name;
private int age;
// 构造函数、getters和setters省略
}
// 数据库操作类
class StudentDB {
public void addStudent(Student student) {
String sql = "INSERT INTO students (name, age) VALUES (?, ?)";
// ... 创建PreparedStatement并执行插入操作 ...
}
public List<Student> getAllStudents() {
List<Student> students = new ArrayList<>();
String sql = "SELECT * FROM students";
// ... 创建PreparedStatement并执行查询操作,处理结果集,并将结果添加到students列表 ...
return students;
}
// ... 其他数据库操作方法 ...
}
// 主程序
public class Main {
public static void main(String[] args) {
StudentDB studentDB = new StudentDB();
// ... 执行数据库操作 ...
}
}
总结
通过以上实战教程,您应该已经掌握了Java数据库交互的基本步骤。在实际项目中,您可以根据需要调整和扩展这些代码示例。记住,数据库操作时要注意异常处理和资源管理,以确保应用程序的健壮性和性能。