Ⅰ 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轉換不清楚的可以網路。