1. 建立连接得到Connection对象后如何继续操作数据库?
1) 查询数据库就必须要执行SQL语句,可以通过Connection对象conn获取一个代表要提交给数据库的SQL语句的句柄,即Statement对象;
2) 使用Connection的createStatement方法得到SQL语句句柄:Statement Connection.createStatement(); // 这个是对象方法
3) 注意!得到的Statement句柄(对象)是从属于创建它的连接conn的,通过该Statement提交的SQL查询语句将直接作用于conn所连接的数据库实例!!
4) 接下来就可以通过Statement对象的execute系列方法将指定的SQL语句提交给数据库进行查询并返回结果,execute系列方法的用法大致为:返回结果集 excuteXXX(SQL语句);
5) 一个创建查询语句句柄的示例:Statement stmt = conn.createStatement();
2. 先了解如何处理结果集ResultSet——查询返回的结果集:
1) 如果是select查询,那么返回的结果集就是一张临时的视图,JDBC用ResultSet对象来接受返回的结果集;
2) 由于结果集其实就是一张链表,每条记录就是链表中的一个节点,因此ResultSet需要用一个记录指针来定位当前指向哪一条记录,而ResultSet提供了如下方法来操作记录指针的指向:所有返回boolean的结果表示如果移动后不存在有效的记录将返回false,结果集中头节点之前和最后一个节点之后都是有效的(即恒为空,再往外走就无效了)
i. boolean next(); // 下移一位
ii. boolean previous(); // 上移一位
iii. boolean first(); // 直接定位到头节点,如果表为空则返回false
iv. boolean last(); // 直接定位到尾节点,如果表位空则返回false
v. void beforeFirst(); // 定位到头节点之前,由于头节点之前永远存在且有效,因此返回void,这也是ResultSet的得到结果后的初始状态
vi. void afterLast(); // 定位到尾节点之后,同样该节点永远有效
vii. boolean absolute( int row ); // 绝对定位到某一行,0表示头节点之前,正数表示从头开始数,负数表示从尾开始数,-1就表示倒数第一个节点,1就表示头节点
3) 遍历记录:
i. 首先要获取当前指针所指向的记录的内容,使用ResultSet的getXxx()方法获得当前记录的指定列的值;
ii. 首先Xxx几乎包括了所有的Java基础类型:String、Int、Double、Time...
iii. 其次是参数有两个重载版本,一个是传入一个列号(从1开始计,1就表示第1列),另一个是列名(直接就是个字符串)ÿ