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

要处理SQL语句,您需要执行以下步骤:

  • 建立连接。

  • 创建一个语句。

  • 执行语句/查询。

  • 处理结果。

  • 关闭连接。

建立连接

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

  • 为此,请使用registerDriver()方法向DriverManager注册与所需的数据源相对应的JDBC驱动程序类。

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

此方法接受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提供3种Statements

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

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

  • 可调用语句:用于调用存储过程。

连接接口提供了一个名为方法createStatement()prepareStatement()并且,prepareCall()分别创建语句,准备好的声明,并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("");
}