(java)如何将从数据库中查询出来的结果集转换为对应类的对象?可考虑hibernate。
假设我有一张表:t1有一个字段a,里面有3条记录。我另有一个类:T1有一个属性a,并有对应的get/set方法。T1有3个对象:t1,t2,t3我执行如下的查询:sele...
假设我有一张表: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而已。 展开
我另有一个类: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而已。 展开
3个回答
展开全部
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;
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的话那么Hibernian里面的查询都可以返回一个List集合。直接用就是了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//呵呵,改了一下
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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询