数据操作返回的ArrayList里应该放什么呢?

03-12-22 java_jar

小弟想写一个dbUtil类,其中实现一个查询方法,假定方法及伪码定义为:

public ArrayList query(String sqlString , String Connection){

定义ArrayList,ResultSet;

查询数据库,得到ResultSet;

遍历ResultSet,将数据存入数据对象,将数据对象加入ArrayList;

释放资源;

返回ArrayList;

}

但是问题来了,开发的过程中我希望用ArrayList中保存的是分装过的数据对象,同时这个query方法应该是通用的。那么我怎么知道应该从ResultSet中提取哪列数据存放到数据对象的那个属性里呢?

请各位高手指教,谢谢!

fiddle
2003-12-23 09:12

再写一个抽象方法,要求子类都自己实现ResultSet的解析工作

abstract ArrayList parseResultSet(ResultSet resultSet);

或者

abstract void parseResultSet(ResultSet resultSet,ArrayList list);

顺便说下,在很多场合你可能实际都需要返回一个分页的列表对象

public class PagedList extends ArrayList{

public int getPageCount();

public int getPageSize();

public int getPageNumber();

...

}

java_jar
2003-12-23 10:02

to fiddle :

sorry,不太明白你的意思。

你是说在我的方法里传入三个参数:sql语句、connection、和负责对ResultSet进行解析的对象。然后在方法中获得ResultSet后由这个对象对ResultSet进行解析并填充/返回ArrayList吗?

有点启发了~:)