使用JDBC创建数据库对象(5)

使用JDBC创建数据库对象(5),第1张

使用JDBC创建数据库对象(5),第2张

使用JDBC创建数据库对象(5)

构建一个更高级别的JDBC对象
从上面的例子可以明显看出,如果我们使用的一些方法可以封装在几个更高级别的对象中,那将会非常有帮助。我们不仅可以封装try块,还可以更简单地访问ResultSet方法。

在这一部分中,我们将构建一个新的resultSet对象,它封装了JDBC ResultSet对象,并以字符串数组的形式返回一行数据。我们发现你总是需要从ResultSetMetaData对象中获取列的序列号和名称,所以创建一个封装元数据的新对象是非常合理的。

此外,我们经常需要通过名称或整数索引提取一行中的元素,如果我们不总是必须在try块中包含这些访问语句,这将很有帮助。最后,如果我们需要整行,将整行作为字符串数组返回更方便。在下面显示的resultSet对象中,我们致力于实现这些目标:

class ResultSet
{
/
这个类是
JDBC结果集
对象的高级抽象。

结果集RS;
resultset metadata rsmd;
int num cols;
公共结果集(resultSet rset)
{
RS = rset;
尝试
{
/
同时获取元数据和列数

rsmd = RS . get metadata();
num cols = rsmd . getcolumncount();
}
catch(Exception e)
{ system . out . println(" resultset error "
+e . getmessage());}
}
/-
public string[]get metadata()
{
/
返回包含所有列名或其他元数据的。

//
数组

String md[] =新字符串[num cols];
try
{
for(int I = 1;IMD[I-1]= rsmd . get column name(I);
}
catch(Exception e)
{ system . out . println("元数据错误"+
e . getmessage());}
return MD;
}
///-
public boolean hasmorelements()
{
try {
return RS . next();
}
catch(异常e){返回false}
}
/-
public string[]nextelement()
{
将行的内容复制到字符串数组中。

String[] row =新字符串[num cols];
try
{
for(int I = 1;I row[I-1]= RS . getstring(I);
}
catch(Exception e)
{ system . out . println(" next element error "+
e . getmessage());}
返回行;
}
///-
public String get column value(String column name)
{
String RES = " ";
try
{
RES = RS . getstring(column name);
}
catch(Exception e)
{ system . out . println("列值错误:"+
Column name+e . getmessage());}
return RES;
}
///-
public String get column value(int I)
{
String RES = " ";
try
{
RES = RS . getstring(I);
}
catch(Exception e)
{ system . out . println("列值错误:"+
Column name+e . getmessage());}
return RES;
}
///-
public void finalize()
{
try { RS . close();}
catch(异常e)
{ system . out . println(e . getmessage());}
}
}


通过简单地用new操作符创建一个ResultSet对象,我们可以很容易地将任何ResultSet对象封装到这个类中:

结果集结果=../
用通常的方法Get
ResultSet
/
并用它创建一个更有用的对象
ResultSet RS = new ResultSet(results);


在任何JDBC程序中使用该对象都很容易。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 使用JDBC创建数据库对象(5)

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情