如何使用 JDBC 处理 SQL 语句并举例说明?


要处理 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");
  • 注册驱动程序类后,使用 getConnection() 方法获取 Connection 对象。

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

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

创建语句

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

  • **Statement:**一种通用语句,不接受任何参数。

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

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

Connection 接口提供名为 createStatement()、prepareStatement() 和 prepareCall() 的方法,分别用于创建 Statement、PreparedStatement 和 CallableStatement。您需要使用相应的方法创建这些语句中的任何一个。

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

执行语句

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

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

  • **executeUpdate():**用于执行诸如插入、更新、删除之类的语句。它返回一个整数值,表示受影响的行数。

  • **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("");
}

更新于:2019年7月30日

5K+ 次浏览

开启您的 职业生涯

完成课程后获得认证

开始学习
广告