(java)如何将从数据库中查询出来的结果集转换为对应类的对象?可考虑hibernate。

来源:百度知道 编辑:UC知道 时间:2024/06/24 01:52:15
假设我有一张表:t1 有一个字段 a ,里面有3条记录。
我另有一个类:T1 有一个属性 a,并有对应的get/set方法。
T1有3个对象:t1,t2,t3

我执行如下的查询:select * from t1
得到一个结果集(ResultSet):rst

那么rst中肯定就会有3条记录。

我的问题是,如何将这3条记录分别赋给3个T1的对象?
while(rst.next()){
t1=(T1)rst;
}
是不行的。

我想借助hibernate是否做起来会方便些?
我知道传了一个id,hibernate能返回一个对象的,但是如何返回多个对象呢?
如果不借助hibernate,又如何做到呢?
谢谢。
麻烦知道怎么弄的,说得详细点。谢谢.
0079007 ,,if中应该是布尔值,一个Object怎么可以。
再说了,你的o得到的也仅仅是个true/false而已。

//呵呵,改了一下

int count=0;
Object o=null;
while(rst.next()){
o = rst.getObject(1);//1 2 ... n 索引值根据你的数据库实际情况而定
switch(count%3){
case 0:t1=(T1)o;break;
case 1:t2=(T1)o;break;
case 2:t3=(T1)o;break;
}
++count;
}

List<BranchBase> rtnList = new ArrayList<BranchBase>();

String sql = "select * from params.tb_branch_kbmp where depttype <> 3070";

//从容器中得到session

Connection connection = null;
PreparedStatement statement=connection.prepareStatement(sql);
ResultSet resultSet= statement.executeQuery();
while(resultSet.next()){
//这里得一个一个取
BranchBase b=new BranchBase();
b.属性名=resultSet.getInt("表的列名");//如果列为varchar()类型就resultSet.getString("表的列名")
//就这样取完
rtnList.add(b);
}

return rtnList;

你可以使用List呀,把取得的所有的记录组织成对象然后放进List里面,使用的时候在从里面取就是了。如果使用的Hibernian的话那么Hibern