如何使用 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");
注册 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(""); }