日期:2014-05-16  浏览次数:20433 次

JDBC学习(3)
其中需要注意的:
查询操作会返回结果集ResultSet,也只有查询操作会返回结果集,ResultSet提供了多种getXXX方法,用于获取不类型的值,相关方法可参考jdk文档,这里不一一列举。getXXX方法的参数可以有两种,一种列的索引号,需要注意的是索引号是以1开始,而不是我们熟悉的0。 另一种是直接传列名。
如上面代码可以写成:
//遍历结果集的每一行数据(第一种使用列索引方式)
while (rs.next())
{
// 获取某一行中的数据
int id = rs.getInt(1); //获取列数据
String s = rs.getString(2); //获取列数据
   String f = rs.getString(3); //获取列数据
}

//遍历结果集的每一行数据(第二种使用列名称方式)

while (rs.next())
{
  // 获取某一行中的数据
  int i = rs.getInt("id"); //获取列数据
  String s = rs.getString("name"); //获取列数据
  String f = rs. getString("dep"); //获取列数据
}

b)执行更新操作:(主要对数据库进行增加,修改,删除等操作,执行executeUpdate)
Connection conn = null;
try
{
Class.forName("org.gjt.mm.mysql.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/demo","root","test");
Statement stmt = conn.createStatement(); //绑定Statement
// 新增一条记录
int rs=stmt.executeUpdate("insert into employee values(5,'fff','t2000')");
or
// 修改数据,表中存在3行dep为test的数据
int rs=stmt.executeUpdate("update employee set dep='dev' where dep='test'");
or
// 删除数据,表中存在2行dep为test的数据
int rs=stmt.executeUpdate("delete from employee where dep='test'");

System.out.println(rs); //结果输出为:1
}
catch(Exception e)
{
System.out.println("数据库操作出现异常:"+e.toString());
}
finally
{
try
{
   //为了确保关闭成功,一般都在finally中关闭连接
conn.close();
}
catch(Exception e)
{}
}