如何使用 JDBC 处理 SQL 语句?(示例说明)

jdbcjava 8programmingobject oriented programming

要处理 SQL 语句,您需要遵循以下步骤:

  • 建立连接。

  • 创建语句。

  • 执行语句/查询。

  • 处理结果。

  • 关闭连接。

建立连接

要处理 SQL 语句,首先需要与所需的 DBMS、文件系统或其他数据源建立连接。

  • 为此,请使用 registerDriver() 方法将与所需 DataSource 对应的 JDBC 驱动程序类注册到 DriverManager。

Driver myDriver = new com.mysql.jdbc.Driver();
DriverManager.registerDriver(myDriver);

此方法接受一个 Driver 类的对象;它将指定的 Driver 注册到 DriverManager。

您也可以使用 forName() 方法注册驱动程序。此方法将指定的类加载到内存中,并自动注册。

Class.forName("com.mysql.jdbc.Driver");
  • 注册 Driver 类后,使用 getConnection() 方法获取 Connection 对象。

    此方法接受数据库 URL(指向数据库的地址)、用户名和密码,并返回一个连接对象。

String url = "jdbc:mysql://localhost/";
String user = "user_name";
String passwd = "password";
Connection conn = DriverManager.getConnection(url, user_name, password);

创建语句

Statement 接口表示 SQL 语句,JDBC 提供三种类型的语句

  • Statement: 不接受任何参数的通用语句。

  • PreparedStatement: 接受输入参数的预编译 SQL 语句。

  • Callable Statement: 用于调用存储过程。

Connection 接口提供 createStatement()、prepareStatement() 和 prepareCall() 方法,分别用于创建 Statement、prepared Statement 和 CallableStatement。您需要使用相应的方法来创建这些语句。

conn.createStatement();
conn.prepareStatement(query);
conn.prepareCall(query);

执行语句

创建语句对象后,您需要执行它们。为了执行语句,Statement 接口提供了三个方法,分别是:execute()、executeUpdate() 和 executeQuery()。

  • execute():用于执行 SQL DDL 语句,返回一个布尔值,指定是否可以检索 ResultSet 对象。

  • executeUpdate():用于执行 insert、update、delete 等语句。它返回一个整数值,表示受影响的行数。

  • executeQuery():用于执行返回表格数据的语句(例如 select)。它返回 ResultSet 类的对象。

使用以下方法之一执行创建的语句。

stmt.execute(query);
stmt.executeQuery(query);
stmt.execute(query);

处理结果

执行语句/查询后,您将从 execute()(布尔值)、executeQuery()(ResultSet)或 executeUpdate()(整数值)方法获得相应查询的结果作为返回值。

ResultSet 对象包含表格值,并具有指向表格行的指针,最初指针/游标将位于第一行之前。获取 ResultSet 对象后,您需要从中检索所需的值并进行处理。

您可以使用 next() 方法将指针移动到下一行。该方法返回一个布尔值,指示 ResultSet 是否包含下一行。

因此,在 while 循环中使用此方法,您可以迭代结果集的内容,并使用 Statement 接口的 getter 方法获取该行列的内容。

while(rs.next()) {
   System.out.print("Brand: "+rs.getString("Mobile_Brand")+", ");
   System.out.print("Sale: "+rs.getString("Unit_Sale"));
   System.out.println("");
}

相关文章