从某种意义上来说,存储过程也是一种数据库对象,他是为了执行某个特定任务,将一组预先编译的SQL语句以一个存储单元的形式放在服务器上,以供用户使用。
存储过程总是在第一次执行的时候进行编译,然后将编译好的代码放在高速缓存中以便以后使用,这样可以提高代码的执行效率。
存储过程常常具有以下特点:
(1)它可以接受输入参数,并可以返回输出参数,
(2)它包含执行数据库的sql语句
(3)一个储存过程在执行的过程中,还可以调用其他的存储过程。
下面我将逐步讲解怎么在java中使用存储过程。
第一个例子:利用存储过程向数据库中插入记录
第一步,建立相关的表:
create table userTable
(
Id int constraint id primary key,
userName varchar(40) not null,
userPassword varchar(40) not null,
)
第二步:在sql数据库中创建存储过程:
CREATE PROCEDURE .[insert_userTable]
(
@username [varchar](40),
@password [varchar](40)
)
AS
insert into userTable (userName,userPassword)values (@username,@password)
GO
第三步就可以在java应用程序中,使用存储过程向数据库中插入了,具体代码如下:
CallableStatement callState=con.prepareCall("{call insert_userTable(?,?)}");
callState.setString(1,"mingzi");
callState.setString(2, "123456");
callState.executeUpdate();
这样我们就可以利用储存过程向数据库中插入数据了