java执行存储过程 例子_java调用存储过程(stored procedures)的HelloWorld例子

1.java调用存储过程(stored procedures)的HelloWorld程序

有点数据 库基础的人都知道。存储过程(stored procedures)和java没什么关系。它是一段纯粹的数据库sql语言的程序,事先存储在数据库中。没有java程序调用,人家自己独立运行的也 挺好。现在的问题就是,你有一个java程序,你想调用现有的一段存储过程,如何做这件事儿?我们底下的实验就是先向数据库存进去一个名为p4的存储过 程,然后再编一段java程序去调用它。

以下就是我向我的数据库中,插入一个叫做p4的存储过程的截图。bca52038c739379f61b848657e5883ed.pngc2f78fd1da73d07f3eea09dea350d7c6.png

下 面解释一下:delimiter是定义边界的意思。delimiter $就是定义$为边界。一个$和下一个$之间就像一个区域一样,在这个区域之间的东西才会被执行。mysql缺省默认来讲见到 ;就执行,但看到delimiter $ 以后,就只会忍饥挨饿盯着直到下一个$出现,才会执行两个$之间的命令。

最后的delimiter ; 就把分隔符从$换回到默认的 ;(注意 delimiter后边一定有一个空格)

create procedure p4(OUT cnt int)

--创建MySQL存储过程p4

--此存储过程的过程名是p4,该过程包含1个参数,

--是输出类型的(以OUT标示),参数名是cnt,类型是int

select count(*) into cnt from test.login;

--再查询表test.login中count(*),将其输出到输出类型的参数cnt里面

call p4(@a);

调用p4存储过程,下面的@a是个mysql中的临时变量,就对应刚才的cnt。

顺便,如果想删除一个procedure,我们就用drop procedure p4;

mysql> use test

mysql> delimiter $

mysql> create procedure p4(OUT cnt int)

-> begin

-> select count(*) into cnt from test.login;

-> end

-> $

Query OK, 0 rows affected (0.00 sec)

-> delimiter ;

mysql> call p4(@a);

Query OK, 0 rows affected (0.00 sec)

mysql> select @a;

+------+

| @a |

+------+

| 2 |

+------+

1 row in set (0.00 sec)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值