社区
Web 开发
帖子详情
怎么将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中啊
是用什么集合接受啊
高手希望详细说明
...全文
11898
15
打赏
收藏
怎么将ResultSet中所有的值全都遍历到List中
ResultSet中的值就是这样 需要循环很多次才能都遍历出来 怎么把值都放在list中啊 是用什么集合接受啊 高手希望详细说明
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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)
}
Java面试题2.1
1、面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面:- 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。- 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化
中
的软件系统有了一定的延续性,同时继承也...
java面试大厂必考题(2023)
java2023最新面试大全
mysql java登陆模块_Java MySql连接
MySql连接MySql驱动包加载数据库操作的一般过程连接MySql创建Statement对象执行SQL语句处理
ResultSet
对象释放资源增删改查代码数据访问对象模式或DAO模式c3p0数据库连接池QueryRunner的使用错误例子一. MySql驱动包加载驱动包在Android Studio这个IDE平台上如何使用:在Android Studio的Android工程
中
添加Java代码模块。...
重点记忆!
如果isPrototype方法返回true,则当我们每次获取Bean的时候,IoC容器都会创建一个新的Bean,这显然存在很大的不同,这便是Spring Bean的作用域的问题。为符合高内聚低耦合的思想,在mybatis
中
属性可以采用外部引入的方式获得,方式为创建一个properties后缀的文件,然后再mybatis项目的配置文件
中
使用properties标签,引用外部属。假如A
中
有m个元素,B
中
有n个元素,A、B笛卡尔积产生的结果有m*n个结果,相当于循环
遍历
两个集合
中
的元素,任意组合。
阿里2021最全新的java面试题总结
前言 2021马上金九银十进入招聘旺季了,现为大家整理了这次金九银十面试阿里的面试题总结,都是我从朋友那拿到的面试真题,话不多说,满满的干货分享给大家! int a=10是原子操作吗? 是的。 注意点: i++(或++i)是非原子操作,i++是一个多步操作,而且是可以被
中
断的。i++可以被分割成3步,第一步读取i的
值
,第二步计算i+1;第三部将最终
值
赋
值
给i。 int a = b;不是原子操作。从语法的级别来看,这是也是一条语句,是原子的;但是从实际执行的二进制指令来看,由于现代计算机CPU架构体系
Web 开发
81,091
社区成员
341,719
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章