急救:

liuyi8903 2003-08-30 12:03:09
我在DAO层中此方法的实现为
public static final Collection findWellBasicData(QueryFilter queryFilter,
int startNum, int endNum)
throws DAOException
{
Hashtable[] KeyNameValue = null;
String value = "";
Collection array = new ArrayList();
try{
DBconn dbconn = new DBconn();
ResultSet set = null;
String sql = "select * from c_well" +
(queryFilter.getWellName() == null ? "" : (" where "
+ queryFilter.getWellName()));

try {
set = dbconn.Query(sql);
if (set == null)
return array;
ResultSetMetaData rsmd = set.getMetaData();
//获取当前记录列数
int col = rsmd.getColumnCount();
//当前页中要显示的记录数
int row = endNum - startNum;
KeyNameValue = new Hashtable[row];

for (int i = 0; i < row; i++) {
KeyNameValue[i] = new Hashtable();
set.next();

for (int j = 1; j < col; j++) {
value = set.getString(j);
if (value == null)
value = "";
KeyNameValue[i].put(rsmd.getColumnName(j).toLowerCase().trim(),
value);
}
array.add(KeyNameValue[i]);
}
}
catch (Exception e) {}
}catch(Exception e){}
return array;
}
上面一段代码返回一个集合.

下面是代理层
public static final SingleWellBasicDataVo findWellBasicDataByPK(String
wellNo) throws BusinessException
{
return null;
}
这里的"return null"需要返回一个值对象.
我该怎么做呢?
谢谢!
...全文
56 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuyi8903 2003-09-01
  • 打赏
  • 举报
回复
我在DAO添加一个
public static final SingleWellBasicDataVo findWellBasicDataByPK(String
wellNo) throws BusinessException
{
}

然后在代理中:
public static final SingleWellBasicDataVo findWellBasicDataByPK(String
wellNo) throws BusinessException
{
try{
return remote.findWellBasicDataByPK(wellNo) ;
}catch(RemoteException e){
throw new BusinessException(e.getMessage());
}
}
你认为这样怎么样呢?
多谢请不吝剔教!
Martin2002 2003-08-30
  • 打赏
  • 举报
回复
你如果要使用VO模式,那么你在用Collection包装的时候,应该是包装了VO对象,而看你的代码,包装的是一个主键对象,这样根本不能和你的VO对象相关联.所以也就造成你在代理对象中无法处理的情况.你可以再看一些VO模式和DAO模式的书,体会一下他们的具体的目的.
我在这里简单的描述一下,VO模式主要是为了减少在网络中的传输次数,从而可以提高在网络传输,调用的效率,而DAO模式是为了分离数据库底层代码的实现细节,这样开发者不用在把注意力放在数据库的类型和实现上,而可以把注意力放在真正的逻辑数据上。
sunny110 2003-08-30
  • 打赏
  • 举报
回复
up

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧