查询操作
和数据库建立连接后,就可以使用JDBC提供的API和数据库交互信息,例如查询、修改和更新数据库中的表等。JDBC和数据库表进行交互的主要方式是使用SQL语句,JDBC提供的API可以将标准的SQL语句发送给数据库,实现和数据库的交互。
对一个数据库中的表进行查询操作的具体步骤如下。
①向数据库发送SQL查询语句
首先使用Statement声明一个SQL语句对象,然后让已创建的连接对象con调用方法createStatement()创建这个SQL语句对象,代码如下:
try {Statement sql = con.createStatement();}catch(SQLException e ) {}
②处理查询结果
有了SQL语句对象后,这个对象就可以调用相应的方法实现对数据库中表的查询和修改,并将查询结果存放在一个ResultSet类声明的对象中。也就是说,SQL查询语句对数据库的查询操作将返回一个ResultSet对象,ResultSet对象由按“列”(字段)组织的数据行构成。例如,对于
ResultSet rs = sql.executeQuery("SELECT* FROM students");
内存的结果集rs的列数是4列,刚好和students的列数相同,第1~4列分别是number、name、birthday和 height列;而对于
ResultSet rs = sql.executeQuery("SELECT name,height FROM students");
内存的结果集对象rs的列数只有两列,第1列是name列,第2列是height列。
ResultSet对象一次只能看到一个数据行,使用next()方法移到下一个数据行,获得一行数据后,ResultSet对象可以使用getXxx方法获得字段值(列值),将位置索引(第1列使用1,第2列使用2,等等)或列名传递给getXxx方法的参数即可。下面给出了ResultSet对象的若干方法。

注:无论字段是何种属性,总可以使用getString (int columnIndex)或getString (String columnName)方法返回字段值的串表示。
③关闭连接
需要特别注意的是,ResultSet对象和数据库连接对象(Connection对象)实现了紧密的绑定,一旦连接对象被关闭,ResultSet对象中的数据立刻消失。这就意味着,应用程序在使用ResultSet对象中的数据时,就必须始终保持和数据库的连接,直到应用程序将ResultSet对象中的数据查看完毕。例如,如果在代码
ResultSet rs = sql.executeQuery ("SELECT* FROM students");
之后立刻关闭连接
con.close();
那么程序将无法获取rs中的数据。







