一、Java调用存储Oracle存储过程
测试用表:
--创建用户表
create tableUSERINFO
(
usernameVARCHAR2(50) not null,
passwordVARCHAR2(50) not null,
emailVARCHAR2(50) not null)
1、调用输入参数的存储过程,无返回值
--添加用户记录
create or replace procedure pro_userinfo_insert(username VARCHAR2,password VARCHAR2,email VARCHAR2) is
begin
INSERT INTO userinfo VALUES(username,password,email);COMMIT;end pro_userinfo_insert;
调用
//省略jdbc其他代码//调用存储过程
CallableStatement call = con.prepareCall("{call pro_userinfo_insert(?,?,?)}");//传递参数
call.setString(1, "wangwu");
call.setString(2, "123123");
call.setString(3, "wangwu@163.com");//执行方法,调用存储过程
int result =call.executeUpdate();//返回受影响的行数
System.err.println(result);
2、调用带输出参数的存储过程,返回单个值
--获取用户的记录总数