Java编程冒险 - 第二十七节课(数据库连接和JDBC)

75 阅读2分钟

欢迎回来,代码忍者们!在上一集的魔法世界中,我们成为了代码的全能大师,掌握了网络编程和GUI编程的深奥知识。今天,我们要继续我们的冒险之旅,深入到Java数据库连接和JDBC的神秘领域。准备好了吗?让我们穿上我们的斗篷,拿起魔杖,一起进入数据库连接和JDBC的世界吧!

  1. 数据库连接——数据的守护者 数据库连接就像是数据的守护者,它允许我们的应用程序与数据库进行交互。通过使用JDBC(Java Database Connectivity)API,我们可以连接、查询和更新数据库:
  • 加载并注册驱动
Class.forName("com.mysql.jdbc.Driver");
  • 建立连接
Connection connection = DriverManager.getConnection(
    "jdbc:mysql://localhost:3306/mydatabase", "username", "password");
  • 创建语句
Statement statement = connection.createStatement();
  • 执行查询
ResultSet resultSet = statement.executeQuery("SELECT * FROM users");
  • 处理结果
while (resultSet.next()) {
    String name = resultSet.getString("name");
    int age = resultSet.getInt("age");
    System.out.println("Name: " + name + ", Age: " + age);
}
  • 关闭连接
resultSet.close();
statement.close();
connection.close();
  1. JDBC——数据库的邮递员 JDBC就像是数据库的邮递员,它提供了一种标准的方式来访问数据库。通过使用PreparedStatement和CallableStatement,我们可以执行参数化的查询和存储过程:
  • 使用PreparedStatement防止SQL注入
String query = "INSERT INTO users (name, age) VALUES (?, ?)";
try (PreparedStatement preparedStatement = connection.prepareStatement(query)) {
    preparedStatement.setString(1, "Alice");
    preparedStatement.setInt(2, 30);
    preparedStatement.executeUpdate();
}
  • 使用CallableStatement调用存储过程
String procedure = "{call get_user_info(?)}";
try (CallableStatement callableStatement = connection.prepareCall(procedure)) {
    callableStatement.setInt(1, 1);
    try (ResultSet resultSet = callableStatement.executeQuery()) {
        while (resultSet.next()) {
            String name = resultSet.getString("name");
            int age = resultSet.getInt("age");
            System.out.println("Name: " + name + ", Age: " + age);
        }
    }
}
  1. 总结——成为代码世界的数据库大师 今天的课程里,我们就像是在学习如何成为代码世界的数据库大师,探索了Java的数据库连接和JDBC。这些技能将使我们能够构建更加丰富和多样化的应用程序。在下一节课程中,我们将解锁更多的Java秘籍,准备好迎接更多挑战了吗?让我们继续前进,深入Java的高级话题,成为真正的代码世界数据库大师!