电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

java中ResultSet遍歷數據操作

瀏覽:6日期:2022-08-27 09:52:56

1.查找數據庫中表的列名

<pre name='code' class='html'>String sql = 'select *from tblmetadatainfo'; ResultSet rs = MySqlHelper.executeQuery(sql, null); String str=''; try { ResultSetMetaData rsmd = rs.getMetaData(); for (int i = 1; i < rsmd.getColumnCount(); i++) { str+=rsmd.getColumnName(i)+','; } str=str.substring(0, str.length()-1); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }

2.查找數據庫中表中每條記錄的列值

for(int i=1;i<rs.getMetaData().getColumnCount();i++){ str+=rs.getString(i)+','; }

補充知識:Java:使用ResultSet.next()執行含有rownum的SQL語句速度緩慢

在使用Oracle數據庫進行分頁查詢時,經常會用到如下SQL:

select tm.* from (select rownum rm, t.* xmlrecord from testtable t) tm where tm.rm > ? and tm.rm <= ?

使用的java代碼如下:

int startIdx = 0;int endIdx = 10000; String sql = 'select tm.* from (select rownum rm, t.* xmlrecord from testtable t) tm where tm.rm > ? and tm.rm <= ?'; try (Connection conn = dataSource.getConnection(); PreparedStatement ps = conn.prepareStatement(sql);) { ps.setInt(1, startIdx); ps.setInt(2, endIdx); try (ResultSet rs = ps.executeQuery();) { while (rs.next()) { String id = rs.getString(2); System.out.println('id='+id); } }}

當使用以上代碼時,會發現當取完最后一條記錄后,再執行rs.next()時,本來希望返回false后跳出循環,但rs.next()會執行非常長的時間。解決的方法是不讓rs.next()來判斷下一條記錄不存在,而在代碼通過計數來實現:

int startIdx = 0;int endIdx = 10000;int i = 0;int count = endIdx - startIdx;String sql = 'select tm.* from (select rownum rm, t.* xmlrecord from testtable t) tm where tm.rm > ? and tm.rm <= ?'; try (Connection conn = dataSource.getConnection(); PreparedStatement ps = conn.prepareStatement(sql);) { ps.setInt(1, startIdx); ps.setInt(2, endIdx); try (ResultSet rs = ps.executeQuery();) { while (rs.next()) { i++; String id = rs.getString(2); System.out.println('id='+id); if(i == count) { break; } } }}

如果代碼中設置了fetchSize,并且fetchSize不能被count整除時,在取最后一片數據時,rs.next()也會執行很長時間:

int startIdx = 0;int endIdx = 10000; String sql = 'select tm.* from (select rownum rm, t.* xmlrecord from testtable t) tm where tm.rm > ? and tm.rm <= ?'; try (Connection conn = dataSource.getConnection(); PreparedStatement ps = conn.prepareStatement(sql);) { ps.setFetchSize(300); ps.setInt(1, startIdx); ps.setInt(2, endIdx); try (ResultSet rs = ps.executeQuery();) { while (rs.next()) { String id = rs.getString(2); System.out.println('id='+id); } }}

以上代碼中,當取得9900條數據后,再取下一個300條時,rs.next()就會執行很長時間,可能是由于取不到一個完整的300條記錄造成的。解決方法是將fetchSize設置成能被count整除的數字,比如:

ps.setFetchSize(500);

在以上兩種狀況下,為什么rs.next()會執行很長時間,還不是很清楚,但可以通過上述方式解決。至于為什么會有這個問題,有知道原因的朋友,請不吝賜教。

以上這篇java中ResultSet遍歷數據操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 厂房出租-厂房规划-食品技术-厂房设计-厂房装修-建筑施工-设备供应-设备求购-龙爪豆食品行业平台 | 校园文化空间设计-数字化|中医文化空间设计-党建|法治廉政主题文化空间施工-山东锐尚文化传播公司 | 1000帧高速摄像机|工业高速相机厂家|科天健光电技术 | 全自动过滤器_反冲洗过滤器_自清洗过滤器_量子除垢环_量子环除垢_量子除垢 - 安士睿(北京)过滤设备有限公司 | 安徽千住锡膏_安徽阿尔法锡膏锡条_安徽唯特偶锡膏_卡夫特胶水-芜湖荣亮电子科技有限公司 | 美甲贴片-指甲贴片-穿戴美甲-假指甲厂家--薇丝黛拉 | 地脚螺栓_材质_标准-永年县德联地脚螺栓厂家 | 吉祥新世纪铝塑板_生产铝塑板厂家_铝塑板生产厂家_临沂市兴达铝塑装饰材料有限公司 | 儋州在线-儋州招聘找工作、找房子、找对象,儋州综合生活信息门户! | 生态板-实木生态板-生态板厂家-源木原作生态板品牌-深圳市方舟木业有限公司 | 天津试验仪器-电液伺服万能材料试验机,恒温恒湿标准养护箱,水泥恒应力压力试验机-天津鑫高伟业科技有限公司 | 篮球架_乒乓球台_足球门_校园_竞技体育器材_厂家_价格-沧州浩然体育器材有限公司 | 伺服电机_直流伺服_交流伺服_DD马达_拓达官方网站 | 冷却塔降噪隔音_冷却塔噪声治理_冷却塔噪音处理厂家-广东康明冷却塔降噪厂家 | 合肥宠物店装修_合肥宠物美容院装修_合肥宠物医院设计装修公司-安徽盛世和居装饰 | 乙炔气体报警装置|固定式氯化氢检测仪|河南驰诚电气百科 | 铝合金风口-玻璃钢轴流风机-玻璃钢屋顶风机-德州东润空调设备有限公司 | 余姚生活网_余姚论坛_余姚市综合门户网站 | 郑州爱婴幼师学校_专业幼师培训_托育师培训_幼儿教育培训学校 | 爱佩恒温恒湿测试箱|高低温实验箱|高低温冲击试验箱|冷热冲击试验箱-您身边的模拟环境试验设备技术专家-合作热线:400-6727-800-广东爱佩试验设备有限公司 | 设定时间记录电子秤-自动累计储存电子秤-昆山巨天仪器设备有限公司 | HDPE土工膜,复合土工膜,防渗膜价格,土工膜厂家-山东新路通工程材料有限公司 | 单电机制砂机,BHS制砂机,制沙机设备,制砂机价格-正升制砂机厂家 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 开锐教育-学历提升-职称评定-职业资格培训-积分入户 | 菲希尔FISCHER测厚仪-铁素体检测仪-上海吉馨实业发展有限公司 | 电销卡 防封电销卡 不封号电销卡 电话销售卡 白名单电销卡 电销系统 外呼系统 | 模型公司_模型制作_沙盘模型报价-中国模型网 | 德国EA可编程直流电源_电子负载,中国台湾固纬直流电源_交流电源-苏州展文电子科技有限公司 | 耐酸碱泵-自吸耐酸碱泵型号「品牌厂家」立式耐酸碱泵价格-昆山国宝过滤机有限公司首页 | 制氮设备-变压吸附制氮设备-制氧设备-杭州聚贤气体设备制造有限公司 | 安驭邦官网-双向万能直角铣头,加工中心侧铣头,角度头[厂家直销] 闸阀_截止阀_止回阀「生产厂家」-上海卡比阀门有限公司 | 赛尔特智能移动阳光房-阳光房厂家-赛尔特建筑科技(广东)有限公司 | 航拍_专业的无人机航拍摄影门户社区网站_航拍网 | 钛合金标准件-钛合金螺丝-钛管件-钛合金棒-钛合金板-钛合金锻件-宝鸡远航钛业有限公司 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛调查出轨取证公司_青岛婚外情取证-青岛探真调查事务所 | 保定市泰宏机械制造厂-河北铸件厂-铸造厂-铸件加工-河北大件加工 | 生态板-实木生态板-生态板厂家-源木原作生态板品牌-深圳市方舟木业有限公司 | 福建成考网-福建成人高考网 | 进口试验机价格-进口生物材料试验机-西安卡夫曼测控技术有限公司 | 半自动预灌装机,卡式瓶灌装机,注射器灌装机,给药器灌装机,大输液灌装机,西林瓶灌装机-长沙一星制药机械有限公司 | 超细|超微气流粉碎机|气流磨|气流分级机|粉体改性机|磨粉机|粉碎设备-山东埃尔派粉体科技 |