要处理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(""); }