java 调用mysql的存储过程(简单示例)
Posted 龙昊雪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();//关闭连接
以上是关于java 调用mysql的存储过程(简单示例)的主要内容,如果未能解决你的问题,请参考以下文章