Java調用MySQL存儲過程並獲得返回值的方法
本文yjbys小編爲大家主要介紹了Java調用MySQL存儲過程並獲得返回值的方法,實例分析了java實現MySQL存儲過程的相關技巧,具有一定參考借鑑價值,需要的朋友可以參考下
本文實例講述了Java調用MySQL存儲過程並獲得返回值的方法。分享給大家供大家參考。具體如下:
private void empsInDept(Connection myConnect, int deptId) throws SQLException {
CallableStatement cStmt = areCall("{CALL sp_emps_in_dept(?)}");
nt(1, deptId);
ute();
ResultSet rs1 = esultSet();
while (()) {
tln(tring("department_name") + " " + tring("location"));
}
e();
/* process second result set */
if (oreResults()) {
ResultSet rs2 = esultSet();
while (()) {
tln(nt(1) + " " + tring(2) + " " + tring(3));
}
e();
}
e();
}
本文實例講述了java調用mysql存儲過程的方法。分享給大家供大家參考。具體如下:
1、新建表test
create table test(
field1 int not null
)
TYPE=MyISAM ;
insert into test(field1) values(1);
2、刪除已存在的存儲過程:
-- 刪除儲存過程
delimiter // -- 定義結束符號
drop procedure p_test;
3、mysql存儲過程定義:
create procedure p_test()
begin
declare temp int;
set temp = 0;
update test set field1 = values(temp);
end
4、調用方法:
CallableStatement cStmt = areCall("{call p_test()}");
uteUpdate();
import .*;
/**
iGoder
*/
public class ProcedureTest {
/*
表和存儲過程定義如下:
delimiter //
DROP TABLE if exists test //
CREATE TABLE test(
id int(11) NULL
) //
drop procedure if existssp1 //
create procedure sp1(in p int)
comment 'insert into a int value'
begin
declare v1 int;
set v1 = p;
insert into test(id) values(v1);
end
//
drop procedure if exists sp2 //
create procedure sp2(out p int)
begin
select max(id) into p from test;
end
//
drop procedure if exists sp6 //
create procedure sp6()
begin
select * from test;
end//
*/
public static void main(String[] args) {
//callIn(111);
//callOut();
callResult();
}
/**
* 調用帶有輸入參數的存儲過程
* @param in stored procedure input parametervalue
*/
public static void callIn(int in){
//獲取連接
Connection conn = onnection();
CallableStatement cs = null;
try {
//可以直接傳入參數
//cs = areCall("{call sp1(1)}");
//也可以用問號代替
cs = areCall("{call sp1(?)}");
//設置第一個輸入參數的`值爲110
nt(1, in);
ute();
} catch (Exception e) {
tStackTrace();
} finally {
try {
if(cs != null){
e();
}
if(conn != null){
e();
}
} catch (Exception ex) {
tStackTrace();
}
}
}
/**
* 調用帶有輸出參數的存儲過程
*
*/
public static void callOut() {
Connection conn = onnection();
CallableStatement cs = null;
try {
cs = areCall("{call sp2(?)}");
//第一個參數的類型爲Int
sterOutParameter(1, GER);
ute();
//得到第一個值
int i = nt(1);
tln(i);
} catch (Exception e) {
tStackTrace();
} finally {
try {
if(cs != null){
e();
}
if(conn != null){
e();
}
} catch (Exception ex) {
tStackTrace();
}
}
}
/**
* 調用輸出結果集的存儲過程
*/
public static void callResult(){
Connection conn = onnection();
CallableStatement cs = null;
ResultSet rs = null;
try {
cs = areCall("{call sp6()}");
rs = uteQuery();
//循環輸出結果
while(()){
tln(tring(1));
}
} catch (Exception e) {
tStackTrace();
} finally {
try {
if(rs != null){
e();
}
if(cs != null){
e();
}
if(conn != null){
e();
}
} catch (Exception ex) {
tStackTrace();
}
}
}
}
/**
*獲取數據庫連接的類
*/
import ection;
import erManager;
import aredStatement;
import ltSet;
import xception;
import ement;
class ConnectDb {
public static Connection getConnection(){
Connection conn = null;
PreparedStatement preparedstatement = null;
try {
ame("er")nstance();
String dbname = "test";
String url="jdbc:mysql://localhost/"+dbname+"?user=root&password=root&useUnicode=true&characterEncoding=8859_1";
conn= onnection(url);
} catch (Exception e) {
tStackTrace();
}
return conn;
}
}
希望本文所述對大家的java程序設計有所幫助。
相關文章
-
Java中嵌入式MySQL的使用方法介紹
這篇文件主要介紹在Java中嵌入式MySQL的使用,對於一些的應用項目,提供安裝版的Mysql,Oracle是必須的工作。但是有時候如果是一個小的工具,可安裝或者移植性比較強的小軟件。再去安裝數據庫可能就比較麻煩了。其實MySQL也 -
在Java中調用存儲的過程
導語:存儲過程是指保存在數據庫並在數據庫端執行的程序。你可以使用特殊的語法在Java類中調用存儲過程。在調用時,存儲過程的名稱及指定的參數通過JDBC連接發送給DBMS,執行存儲過程並通過連接(如果有)返回結果。下面是在 -
在Java中調用存儲過程是怎樣的
本文闡述了怎麼使用DBMS存儲過程。我闡述了使用存儲過程的基本的和高級特性,比如返回ResultSet。本文假設你對DBMS和JDBC已經非常熟悉,也假設你能夠毫無障礙地閱讀其它語言寫成的代碼(即不是Java的語言),但是,並不要求你 -
jQuery解析XML與傳統JavaScript方法的差別
具體分析如下:1. 傳統javascript方法:var xmlDoc = onseXML;try // Build Markers, if available{ var markers = lementsByTagName("marker") ; for ( var i = 0; i < th ; i++ ) { var point = { markers[i]ttribute( -
JAVA認證開源技術:關於Java的對象equals方法
在學習JAVA認證過程中,每個人會遇到每個人不同的問題,或小或大,下面yjbys小編爲大家分享的是關於Java的對象equals方法,希望對大家學習JAVA有幫助!不是所有的equals都是比較整個對象的。 #1.普通Object類:先看源碼:publi -
Java中如何使用嵌入MySQL
對於一些的應用項目,提供安裝版的 Mysql,Oracle 是必須的工作。下面小編爲大家介紹Java中如何使用嵌入MySQL,希望能幫到大家!其實 MySQL 也有嵌入式的',不需要安裝,在使用的過程中,會自動創建數據庫以及通過代碼的方式啓動 -
Java怎麼編寫Oracle存儲過程
通常我們都使用Ps/SQL爲Oracle編寫存儲過程,從Oracle 8開始我們可以有另一種選擇:Java。8.0開始,Oracle自帶一個JVM,內置對Java的支持,任何Java能做的事情你都可以放到Oracle裏面來做,你甚至可以在裏面操作db2。這讓Oracle -
關於java如何配置MyEclipse Maven環境具體方法
當我們受到啓發,對學習和工作生活有了新的看法時,將其記錄在心得體會裏,讓自己銘記於心,如此就可以提升我們寫作能力了。到底應如何寫心得體會呢?以下是小編收集整理的青年教師成長心得,僅供參考,希望能夠幫助到大家。青年教 -
java編寫oracle存儲的方法
Java的主要工作是通過編程語言來製作互聯網頁面、製作動態效果以及網站等技術,以下是小編爲大家搜索整理的java編寫oracle存儲的方法,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!通常我們都使用 -
Java學習之MySQL翻頁例子
一、運行前準備下載了mysql的jdbc驅動(一個jar文件)並加載在CLASSPATH(方法見《JAVA/JSP學習系列之一(JDK安裝) 》)(如果找不到,請從本站下載)建一個MySQL數據庫test數據庫中有一個表:note,字段爲:name(varchar)二、下載,安