1:測(cè)試數(shù)據(jù)庫(kù)表user
mysql> desc user$$ +-------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+----------------+ | id | int ( 11 ) | NO | PRI | NULL | auto_increment | | name | varchar( 10 ) | YES | | NULL | | | age | int ( 11 ) | YES | | NULL | | +-------+-------------+------+-----+---------+----------------+ 3 rows in set ( 0.00 sec)
?
2:存儲(chǔ)過(guò)程,返回id>n_id 的與id<n_id的兩個(gè)結(jié)果集
delimiter $$ create procedure p_get_user_list( in n_id int ) begin select id, name, age from user where id > n_id; select id, name, age from user where id < n_id; end $$
3:JDBC操作
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package jdbctest; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.util.logging.Level; import java.util.logging.Logger; /** * * @author y */ public class Jdbctest { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here funtest(); } public static void funtest(){ Connection conn = null ; CallableStatement calState = null ; ResultSet rs = null ; try { Class.forName( "com.mysql.jdbc.Driver" ); conn = (Connection)DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "" ); calState = conn.prepareCall("{call p_get_user_list(?)}" ); calState.setInt( 1, 3 ); boolean oprFlag = calState.execute(); // 使用外循環(huán)來(lái)控制結(jié)果集的個(gè)數(shù),內(nèi)循環(huán)控制每個(gè)結(jié)果集的記錄 while (oprFlag){ rs = calState.getResultSet(); System.out.println( "=================" ); while (rs.next()){ System.out.println( "id:"+rs.getInt("id")+"\t"+ "name:"+rs.getString("name")+"\t"+ "age:" +rs.getInt("age" )); } oprFlag = calState.getMoreResults(); } } catch (ClassNotFoundException | SQLException ex) { Logger.getLogger(Jdbctest. class .getName()).log(Level.SEVERE, null , ex); } finally { if ( null != rs ){ try { rs.close(); } catch (SQLException ex) { Logger.getLogger(Jdbctest. class .getName()).log(Level.SEVERE, null , ex); } } if ( null != calState){ try { calState.close(); } catch (SQLException ex) { Logger.getLogger(Jdbctest. class .getName()).log(Level.SEVERE, null , ex); } } if ( null != conn){ try { conn.close(); } catch (SQLException ex) { Logger.getLogger(Jdbctest. class .getName()).log(Level.SEVERE, null , ex); } } } } }
4:測(cè)試結(jié)果
run: ================= id : 4 name:test2 age: 30 id : 5 name:test3 age: 24 ================= id : 1 name:里斯 age: 25 id : 2 name:王五 age: 26 成功構(gòu)建 (總時(shí)間: 0 秒)
?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
