Oracle資料庫連接、對預存程序的調用
create table chengji(id number,xing_ming varchar2(25),yu_wen number,shu_xue number)
--查詢所有資訊select * from chengji
--無傳回值類型的預存程序
create procedure cj_proc_1 is
begin
insert into chengji values (3, 'wangwu', 90, 90);
commit;
end;
--輸入一個值有一個值返回的預存程序
create procedure cj_proc_2
(x_name in varchar2,x_num out number) is
num_1 number;num_2 number;
begin
select yu_wen,shu_xue into num_1,num_2 from chengji where xing_ming = x_name;x_num:=num_1+num_2;
end;
資料庫連接:
public static void main(String[] args) {
Connection conn=null;
//資料庫連接
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "system", "admin");
} catch (Exception e) {
e.printStackTrace();
}
//對資料庫進行操作
try {
CallableStatement proc=null;
proc=conn.prepareCall("{call cj_proc_2(?,?)}");
proc.setString(1,"zhangsan");
proc.registerOutParameter(2, Types.NUMERIC);
proc.execute();
String jieguo=proc.getString(2);
System.out.println("================="+jieguo);
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}