JDBC - 示例

  • 简述

    本章提供了一个示例,说明如何创建一个简单的 JDBC 应用程序。这将向您展示如何打开数据库连接、执行 SQL 查询并显示结果。
    本模板示例中提到的所有步骤将在本教程的后续章节中进行解释。
  • 创建 JDBC 应用程序

    构建 JDBC 应用程序涉及以下六个步骤 -
    • 导入包− 要求您包含包含数据库编程所需的 JDBC 类的包。大多数情况下,使用import java.sql.*就足够了。
    • 打开一个连接− 需要使用DriverManager.getConnection()方法创建Connection 对象,该对象表示与数据库的物理连接。
    • 执行一个查询 − 需要使用 Statement 类型的对象来构建 SQL 语句并将其提交到数据库。
    • 从结果集提取数据− 要求您使用适当的ResultSet.getXXX()方法从结果集中检索数据。
    • 清理环境 − 需要明确关闭所有数据库资源而不是依赖 JVM 的垃圾收集。
  • 示例代码

    此示例示例可以作为 template 将来需要创建自己的 JDBC 应用程序时。
    此示例代码是根据上一章中完成的环境和数据库设置编写的。
    将以下示例复制并粘贴到 FirstExample.java 中,编译并运行如下 -
    
    
    import java.sql.*;
    
    
    
    public class FirstExample {
    
       static final String DB_URL = "jdbc:mysql://localhost/TUTORIALSPOINT";
    
       static final String USER = "guest";
    
       static final String PASS = "guest123";
    
       static final String QUERY = "SELECT id, first, last, age FROM Employees";
    
    
    
       public static void main(String[] args) {
    
          // Open a connection
    
          try(Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);
    
             Statement stmt = conn.createStatement();
    
             ResultSet rs = stmt.executeQuery(QUERY);) {
    
             // Extract data from result set
    
             while (rs.next()) {
    
                // Retrieve by column name
    
                System.out.print("ID: " + rs.getInt("id"));
    
                System.out.print(", Age: " + rs.getInt("age"));
    
                System.out.print(", First: " + rs.getString("first"));
    
                System.out.println(", Last: " + rs.getString("last"));
    
             }
    
          } catch (SQLException e) {
    
             e.printStackTrace();
    
          } 
    
       }
    
    }
    
    
    现在让我们编译上面的例子如下 -
    
    
    C:\>javac FirstExample.java
    
    C:\>
    
    
    当你跑 FirstExample,它产生以下结果 -
    
    
    C:\>java FirstExample
    
    Connecting to database...
    
    Creating statement...
    
    ID: 100, Age: 18, First: Alex, Last: Moo
    
    ID: 101, Age: 25, First: Mahnaz, Last: Fatma
    
    ID: 102, Age: 30, First: Zaid, Last: Khan
    
    ID: 103, Age: 28, First: Sumit, Last: Mittal
    
    C:\>