天天看點

java mysql存儲過程調用存儲過程_java 調用mysql的存儲過程(簡單示例)

首先我在mysql的test資料庫裡定義了一個student表:

create table student4(

id   int   primary key,

sanme char(5)

);

插入幾個資料做測試用:

inset into student values(1,'mayi');

inset into student values(2,'mayi');

inset into student values(3,'mayi');

建立存儲過程:

in 型:

delimiter //

create procedure demo_in(in p_in int)

begin

select p_in;

set p_in=2;

select p_in;

end;

//

delimiter ;

java測試代碼:

CallableStatement callstatement = conn.prepareCall("call demo_in(?)");//conn,資料庫連接配接

callstatement.setInt(1, 1);//設定第一個參數

callstatement.execute();//執行

conn.close();//關閉連接配接

out型:

delimiter //

create procedure demo_out(out s int)

begin

select count(*) into s from student;

end

//

delimiter ;

java測試代碼:

CallableStatement callstatement = conn.prepareCall("call demo_out(?)");

callstatement.registerOutParameter(1, java.sql.Types.INTEGER);//注冊存儲過程的out型參數類型;使用之前必須注冊;

callstatement.execute();//執行

System.out.println(callstatement.getInt(1));//獲得存儲過程的輸出參數

conn.close();//關閉連接配接

總結:  先在資料庫中建立存儲過程,然後獲得資料庫連接配接conn後,生成CallableStatement對象,執行相應的操作。

看過的幾篇文章:保留下來,下次記憶模糊了,在複習一下!