前面介绍了通过JDBC如何管理数据库,当时提到Statement专门提供了executeQuery方法用于查询操作,为什么查询操作这么特殊呢?这是因为其它语句跑完一次就了事了,顶多像insert、update、delete再返回受影响的记录数量,但select命令跟它们不一样,查询语句可能会返回多条记录,每条记录又包含多个字段。似此多条记录多个字段的情景,返回值无论定义为哪种类型都不太好办,故而干脆给个单独的executeQuery方法,该方法的返回值也设置成专属的ResultSet类型,表示查询方法返回了一个结果集,详细的记录结果请到结果集中遍历获得。
据此可将记录查询的操作过程分成以下四个步骤:
1、获取数据库连接:该步骤调用DriverManager类的getConnection方法获得连接对象。
2、创建该连接的执行报告:该步骤调用Connection对象的createStatement方法获得执行报告。
3、命令报告执行查询语句:该步骤调用报告对象的executeQuery方法来执行查询语句,并返回查询记录的结果集。
4、循环遍历结果集里面的所有记录:通常该步骤需调用结果集对象的next方法不断往后遍历,也就是将结果集的指示游标一步一步向后移动。在遍历过程当中,可能要调用结果集对象的其它方法进一步操作,ResultSet的常见方法分成三类,说明如下:
1、移动游标
该类方法可将当前游标移动到指定位置,主要包括下列方法:
next:将游标移到后一条记录。该方法返回true表示尚未移到末尾,返回false表示已经移到末尾。
absolute:将游标移到第几条记录,如果参数为负数则表示倒数的第几条。
first:将游标移到第一条记录。
last:将游标移到最后一条记录。
previous:将游标移到前一条记录。
beforeFirst:将游标移到第一条记录之前。
afterLast:将游标移到最后一条记录之后。
2、判断游标位置
该类方法可判断当前游标是否处于某个位置,主要包括下列方法:
isFirst:游标是否指向第一条记录。
isLast:游标是否指向最后一条记录。
isBeforeFirst:游标是否在第一条记录之前。
isAfterLast:游标是否在最后一条记录之后
Java开发笔记(一百四十八)通过JDBC查询数据记录
于 2019-09-07 11:32:12 首次发布