这条语句中,我们定义了一个Connection类的对象con,用来存放getConnection方法返回的数据库连接。
大家回想一下图13-5,在最上层,我们是通过“驱动程序管理器”发出一个getConnection方法,以获得一个Connection(数据库连接)。
getConnection方法的语法格式是:
|
它可以带上三个参数:
<1> url:数据库的URL。我们知道JDBC的URL由三个部分组成:
图13-12 URL分析
<2> user:用户名。象SQL Server、Oracle…等大型数据库中,均采用了用户管理,而在Access中并未使用,所以在本例中当然就不用指出相应的用户了;
<3> password:相应用户的口令,它是与用户名对应的。
6)Statement sta=con.createStatement();
我们继续参考图13-5,获得了一个Connection(与数据库的连接)后,我们应该创建一个语句(有三种方法),在我们的程序中使用了最常使用的语句创建方法:createStatement。
注意:
创建语句所引用的方法createStatement是Connection对象的方法!
这样,我们就得到了一个Statement(语句)对象sta。
7)
|
根据图13-5的指示,接下来,我们要使用Statement对象的方法来执行SQL语句,在本例中,我们使用了一个最常用的executeQuery方法。
这个方法所带的参数是一个SQL语句。
小知识:SQL语言
SQL用来组织、管理和检索存储在计算机数据库中的数据。它的英文全称是:“Structured Query Language”。它是所有的关系型数据库均采用的标准。是一种专门用于数据库操作的语言。它可嵌入到其它语言中(如这里)来实现数据库操作。
例如,这里的SELECT Name,Sex,Age,Chinese,Maths FROM student的意思就是从student表中选择出Name,Sex,Age,Chinese,Maths五个字段。
SQL语言博大精深,而且十分有用,有兴趣的读者可以去阅读《SQL完全参考手册》(上、下)。在此限于篇幅就不带赘述了。
执行了这条SQL语句后,将产生许多输出,这些都将存放在一个ResultSet类的对象rs中。它对应与图13-5就是“结果集”。
8)
|
根据图13-5的指示,有了结果集,我们就可以使用next方法、getString方法获取它们。其中next方法是指取下一个记录(一个记录由多个字段组成,在这个例子中共有5个字段:Name,Sex,Age,Chinese,Maths)。而getString则是从当前记录中取出某个字段,它所带的参数就是字段的序号。
一些提示:
刚返回的结果集ResultSet中,记录指针是指向TOP,并未指向任何记录。
在这个while循环中,首先将执行rs.next(),这样,就指向了第一条记录。(如果没有第一条记录,就会返回false,使得循环结束)。然后我们就可以使用getString(字段号)来获取这条记录中的字段。
当5个字段都取出来后,在程序中将它们组合在一起,然后将其打印出来。 接下来,就会再次执行rs.next()获取下一条记录,直到没有记录为止。
好了,到此你应该能够理解这个程序了吧!
JDBC是一个十分强大、有用的工具,而且也内容很多,足以成册,因此本书无法面面俱到说明,有兴趣的话可以再去看一些Java的高级参考书。
自测练习
1) 使用JDBC,可分为四个步骤,请按顺序将它们排列出来:
________、________、________、________。
a.释放对象 b.语句处理 c.结果处理 d.创建连接
2) 在使用JDBC中,可能会用到许多方法,请将下列方法按照调用顺序排列出来:
________、________、________、________。
a.getString() b.executeQuery()
c.getConnection() d.createStatement()
3) 在JDBC中,使用________说明JDBC数据源。
a.数据库名 b.数据源名 c.JDBC URL d.JDBC对象名
4) 在jdbc:odbc:student中,odbc是___________。
a.协议名 b.驱动程序名 c.子协议名 d.桥接器
5) 在示例程序testjdbc.java中,我们选择出了所有的五个部分,如果我不想选择出Chinese、Maths字段,你认为程序应该做些什么修改?
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
6) SQL语句SELECT的语法格式是:
SELECT 字段名 FROM 表名 WHERE 条件语名
其中WHERE子句可以使SELECT只选择符合WHERE中说明的条件的记录。
请您编写一个程序,输出年纪为9岁的所有学生的Name、Sex、Chinese。
____________________________________________________________________
____________________________________________________________________