怎么将ResultSet中所有的值全都遍历到List中

d6ds6 2007-06-07 11:51:08
ResultSet中的值就是这样
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(4)%></td>
<td><%=rs.getString(5)%></td>

需要循环很多次才能都遍历出来
怎么把值都放在list中啊
是用什么集合接受啊

高手希望详细说明
...全文
11921 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
zuqiu7hao 2007-06-13
  • 打赏
  • 举报
回复
将值遍历出来
去建一个javabean
里面的内容就是你筛选出来的值
都赋值给那个javabean中的属性
然后声明那个javabean的对象进行传递给list
rainv 2007-06-08
  • 打赏
  • 举报
回复
其实就类似hibernate
rainv 2007-06-08
  • 打赏
  • 举报
回复
放入pojo中.
每行对应一个新的pojo.
看这个说明:

【原创】JAVA实现关系数据库的翻页 by masse@CSDN:

这个方法没有什么特别的,其实也算不上原创。也是在学习中得出来的。因此如果侵犯了别人的权益,请来信通知。为了方便初学者了解原理,代码中我没有使用任何框架。代码可以适用于mysql,oracle,sqlserver,db2等等主流关系数据库。
以下代码是我从自己以前写的程序中抽取出来的核心,只能表述思路,如要使用,可能还需要很多调整。

(1) 数据库表sys_User定义如下:
ID Name Email Desc …
1 masse karkaiy_007@163.com 当午 …
其中,ID为整型,其它均为字符串。

(2) User类,请自行为每个方法添加getter和setter方法。为了方便,我写了User(ResultSet)这个构造函数。
public class User
{
public User(ResultSet rs)
{
id = rs.getInt("ID");
name = rs.getString("Name");
email = rs.getString("Email");
desc = rs.getString("Desc");
}
private int id;
private String name;
private String email;
private String desc;
}

(3) sysUserTable类,用于数据库读取,我这里仅仅给出了最核心部分。其中对于start,count等的有效性参数,请自行判断;sql语句如果有查询的filter,或者order等语句,也可根据情况自行调整。我只给出程序框架。

// 取出从start开始的count条记录。如,start为1,count为20,则取出数据库前20条记录
public class SysUserTable
{

public List getUsers(Connection conn, int start, int count) throws
Exception
{
PreparedStatement pStmt = null;
ResultSet rs = null;
List result = new ArrayList();
try
{
String sql = "SELECT * FROM sys_User";
pStmt = conn.preparedStatement(sql);
rs = pStmt.executeQuery();
if (rs.absolute(startRow))
{
result.add(new User(rs));
for (int rowIndex = 0; rowIndex < rowCount - 1; rowIndex++)
{
if (!rs.next())
{
break;
}
result.add(new User(rs));
}
}
}
catch (Exception e)
{
throw e; // process exception here
}
finally
{
// close rs & pStmt here
}
return result;
}
}

(4) JSP页面的实现。基本的思路就是,根据当前页数,计算出需要的start即可。如指定每页count条,当前在第n页,那么start=(n-1)*count+1。然后作为参数,即可得到翻页结果集。具体的实现可以用传统的翻页,也可用ajax。这里灵活性很大,就不再赘述了。
shily536 2007-06-08
  • 打赏
  • 举报
回复
List list=new ArrayList();
while(rs.next() )
{
aa a=new aa(rs.getString(1),rs.getString(2),rs.getString(3) );
list.add(a);
}
基本思路就是这样的,实际使用时,最好写一个初始化函数
public void userLogInit(userLog userLog,ResultSet rs){
try {
userLog.setId(rs.getLong("Id"));
userLog.setUserId(rs.getString("user_id"));
} catch (Exception e) {
System.out.println("init failed!");
}
}
public List getUser(String sql){
ArrayList<userLog> list = new ArrayList<userLog>();
try {
DBConnect db=new DBConnect();
con=db.getConnect();
st=con.createStatement();
rs=st.executeQuery(sql);
while(rs.next()){
userLog = new userLog();
userLogInit(userLog,rs);
list.add(userLog);

}
} catch (Exception e) {
System.out.println("get record failed!");
System.out.println(e);
e.printStackTrace();
}
try {
rs.close();
st.close();
con.close();
} catch (Exception e) {
System.out.println("close database failed!");
System.out.println(e);

}
return list;
}
其中userLog 是JAVABEAN
zhj92lxs 2007-06-08
  • 打赏
  • 举报
回复
ls有正解
Ctoyun 2007-06-08
  • 打赏
  • 举报
回复
我虽然没有回答您的问题,但也帮您顶了下,求您给小女几分好吗?我非专业,但需要点分提问啊!
呵呵,谢谢!!
SINCE1978 2007-06-08
  • 打赏
  • 举报
回复
看看别人的代码这是最基本的功能。
南南北北 2007-06-08
  • 打赏
  • 举报
回复
yxhzj(余华[学习J2EE中]) ( 一星(中级)) 信誉:98

学习之
rainv 2007-06-08
  • 打赏
  • 举报
回复
Ctoyun(林莉)

好问题我想csdn的哥们是不会在乎分的.呵呵.
问题首先要用baidu搜搜啥.
xpice 2007-06-08
  • 打赏
  • 举报
回复
List list=new ArrayList();
while(rs.next() )
{
aa a=new aa(rs.getString(1),rs.getString(2),rs.getString(3) );
list.add(a);
}
d6ds6 2007-06-08
  • 打赏
  • 举报
回复
up
fashchina 2007-06-08
  • 打赏
  • 举报
回复
补充:list里面的对象为BasicDynaBean,一个类型map的东西
取值为
for(...){
BasicDynaBean bean=(BasicDynaBean)resultList.get(i);
bean.get(key); --->key为字段名字 和你在select id,name等匹配
}
fashchina 2007-06-08
  • 打赏
  • 举报
回复
用第三方开源包

RowSetDynaClass rsdc = new RowSetDynaClass(rs);
List resultList= rsdc.getRows();

具体的jar包是apache的
org.apache.commons.beanutils.RowSetDynaClass
d6ds6 2007-06-08
  • 打赏
  • 举报
回复
up
zzxiaoma 2007-06-08
  • 打赏
  • 举报
回复
List list;
需要定义一个类在里面
有一些属性和rs得到的值对应
aa a = new aa();
while(rs.next()){
a.属性=rs.getString(1);
...
list.add(a)
}

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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