Ⅰ java两个线程分别返回两个ResultSet,如何分多次读取两个ResultSet的结果
创建实体
ResultBean
private RsultSet resultSet;
private List<Bean> resultList;
包含方法:
方法1:public List<Bean> getResultList();每次将resultList清空后使用resultSet.next读取Bean再添加,判断是否遍历完毕,遍历完毕调用closeResultSet方法并返回null
方法2:public void closeResultSet();关闭ResultSet
2.建立一个单例工具类ResultUtil,包含以下私有成员
private Map<用户操作标识,ResultBean> resultMap;
用户操作标识每次进入页面时随机生成一个且不可重复,后续点击加载都是使用页面初始化时使用的用户操作标识
方法1:public void pushResultBean(String 用户操作标识,ResultBean resultBean) ;添加ResultBean到resultMap中,key为用户操作标识;
方法2: public ResultBean getResultBean(String 用户操作标识) 根据用户操作标识取得ResultBean;
方法 3:public void removeResultBean(String 用户操作标识);通过用户操作标识remove
3.接口层
通过用户标识调用单例工具类的ResultUtil.getResultBean方法,通过得到的ResultBean再调用getResultList方法,当getResultList方法返回结果为空将调用ResultUtil.removeResultBean方法
4.前端
每次通过用户操作标识请求接口,得到响应结果追加即可
机优化方案:还需要ResultUtil中的resultMap回收,可以考虑使用websoket,或者心跳机制,想简单的话先用心跳机制解决,单独开一个接口,前端定时调用,如果超过三十秒该用户操作标识没有心跳检测调用ResultUtil.removeResultBean方法,若是用户体量大的话考虑使用netty
Ⅱ 如何把java.util.List中的数据遍历到ResultSet 中,然后把这些数据在页面中遍历出来
list在页面可以直接变例啊!!
在说ResultSet只能通过查询sql语句得到啊!
你这样强制转换肯定出问题的~~
Ⅲ java中如何获得resultset类型变量存到arraylist里面
解答:
譬如用statement 得到resultset rs = statement.executeQuery("你的sql语句");
将rs.getString("得到的字段")依次放入Map中(map.put())。之后用list.add(map)。就实现了。
要点:
主要掌握resultset以及arraylist的具体方法的用法。
建议:
多参考能够实现功能的程序 代码,跟着编程,亲手去调试,就能够熟练运用。
Ⅳ java里面 resultset能够作为函数的返回值吗
java里面的ResultSet是可以作为函数的返回值的,这个函数返回一个ResultSet对象,具体示例代码如下:
publicclassDemo{
publicstaticvoidmain(String[]args){
}
privateResultSetgetNum(){//返回值为ResultSet的函数
ResultSetrs=null;
returnrs;
}
}
ResultSet是数据库结果集的数据表,通常通过执行查询数据库的语句生成。
Ⅳ 在java中怎样用resultset方法把查询的表的所有值都显示出来
首先确定你是什么库啊,得有数据库驱动
例mysql
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection) DriverManager.getConnection(url, name,
pwd);
con.setAutoCommit(false);
Connection conn = null;
ResultSet rs;
try {
conn = getConnect(url,name,password);
String sql="select * from table ";
PreparedStatement ps = conn.prepareStatement(sql);
rs = ps.executeQuery(sql);
while(rs.next()){
//rs.getString(1);根据类型取值
}
Ⅵ java问题,jdbc中resultset转存到list出问题
很简单,因为最终存进去的对象只有一个,你创建对象的时候这么写
Useruser=null;
在后面再创建对象
再添加到集合中
最后返回
Ⅶ java中的executeQuery方法返回List集合和resultSet哪个更好
Table保存的什么类的内容,就返回一个 List<T>,方便调用者使用;List<HashMap>不是个好的选择。
一个人写着玩,随便了。
Ⅷ java 怎样把resultset转成list
【方法1】借助bean的办法
//rs是一个查询语句所返回的结果集
ResultSet rs=new ResultSet();
rs=pstmt.executeQuery();
//将rs逐条取出,并将每一项放在一个bean对应的值里
while(rs.next())
{
RecBean rec=new RecBean();
rec.setId(rs.getInt(1));
rec.setAgentNo(rs.getString(2));
rec.setFileName(rs.getString(3));
list.add(rec);
}
2
【方法2】借助ResultSetMetaData 和Map
private static List convertList(ResultSet rs) throws SQLException {
List list = new ArrayList();
ResultSetMetaData md = rs.getMetaData();
int columnCount = md.getColumnCount();
while (rs.next()) {
Map rowData = new HashMap();
for (int i = 1; i <= columnCount; i++) {
rowData.put(md.getColumnName(i), rs.getObject(i));
}
list.add(rowData);
}
return list;
}
Ⅸ java注解中resultset怎莫转list
循环读取resultset中的值,然后把读到的值赋值到list中
Ⅹ JAVA中ResultSet返回值的数据读取方法
是要把rs的记录 存储在数组中吗?使用一个while循环,把每一行记录获取的对象放到一个ArrayList集合中,然后使用ArrayList的toArray方法转成数组(也可以自己迭代实现)。数组和list转换不清楚的可以网络。