封装数据结果集

原理就是用Map存放单条数据然后放到List里

用起来可以这样调用  List list = rs.selectRS(sqlStr);

for(int i=0;i<list.size;i++)
{
    ((Map)list.get(i)).get("username");
}
这样的话就不用每次在写数据库连接了,而且有比较复杂的页面格式输出就可以通过对 i 的控制来实现了

下面是具体实现类可以结合struts,webwork2的标签来用,我已经测试过了没问题
我也看到一些人是自己写类来代替Map来用的

package  com;

import  conn.DBConnManager;
import  java.sql. * ;
import  java.util. * ;

public   class  ResultGather
{
 
private String sql;
 
public ResultGather()
 
{
  
 }

 
public ResultGather(String sqlcom)
 
{
  
this.sql=sqlcom;
 }

 
public List selectRS(String sqlStr)
 
{
  
this.sql = sqlStr;
  
return selectRS();
 }

 
public List selectRS()
 
{
  List rsall 
= new ArrayList();
  Map rsTree;
  DBConnManager conn 
= null;
  Connection con 
= null;
  Statement stmt 
= null;
  ResultSet rs 
= null;
  
try{
   conn 
= DBConnManager.getInstance();
   con 
= conn.getConnection("mssql");
   stmt 
= con.createStatement();
   rs 
= stmt.executeQuery(sql);
   ResultSetMetaData rsmd 
= rs.getMetaData();//取数据库的列名  我觉得名比1,2,3..更好用
   int numberOfColumns = rsmd.getColumnCount();
   
while(rs.next())
   
{
   rsTree 
= new HashMap(numberOfColumns);//注意要new
     for(int r=1;r<numberOfColumns+1;r++)
     
{
      rsTree.put(rsmd.getColumnName(r),rs.getObject(r)); 
     }

     rsall.add(rsTree);
   }

   
  }
catch(java.lang.Exception ex){
   ex.printStackTrace();
  }
finally{
   
try{
    
if(rs!=null)
     rs.close();
    
if(stmt!=null)
     stmt.close();
    
if(conn!=null)
     conn.releaseConnection(
"mssql",con);
   }
catch(Exception e){
    
   }
   
  }

  
return rsall;
 }

}

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!要将数据封装到PyTorch中,您可以使用`torch.utils.data.Dataset`类来定义自己的数据集。以下是一个简单的例子来演示如何封装数据集: ```python import torch from torch.utils.data import Dataset class CustomDataset(Dataset): def __init__(self, data): self.data = data def __len__(self): return len(self.data) def __getitem__(self, index): sample = self.data[index] # 在这里进行数据预处理或转换操作 return sample # 创建数据集实例 data = [1, 2, 3, 4, 5] dataset = CustomDataset(data) # 创建数据加载器,用于迭代访问封装后的数据集 dataloader = torch.utils.data.DataLoader(dataset, batch_size=2, shuffle=True) # 使用数据加载器进行迭代访问数据 for batch in dataloader: print(batch) ``` 在上面的示例中,我们首先定义了一个名为`CustomDataset`的自定义数据集类,该类继承自`torch.utils.data.Dataset`。在`__init__`方法中,我们初始化数据集并将其保存在`self.data`中。`__len__`方法返回数据集的长度,`__getitem__`方法根据给定的索引返回对应的样本。 然后,我们创建了一个数据集实例`dataset`,并使用`torch.utils.data.DataLoader`创建了一个数据加载器`dataloader`。数据加载器用于对封装后的数据集进行迭代访问。我们可以指定批量大小、是否洗牌等参数。 最后,我们使用数据加载器`dataloader`进行迭代访问数据集。每个迭代步骤返回一个批量的数据样本。 希望这个例子能帮助到您!如果您有任何其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值