1:測試數據庫表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:存儲過程,返回id>n_id 的與id<n_id的兩個結果集
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();
//
使用外循環來控制結果集的個數,內循環控制每個結果集的記錄
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:測試結果
run:
=================
id
:
4
name:test2 age:
30
id
:
5
name:test3 age:
24
=================
id
:
1
name:里斯 age:
25
id
:
2
name:王五 age:
26
成功構建 (總時間:
0
秒)
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

