问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java里面怎么调用mysql的存储过程的

发布网友 发布时间:2022-04-22 14:22

我来回答

3个回答

热心网友 时间:2022-04-09 13:16

java代码:

  Class.forName("com.mysql.jdbc.Driver");

  Connection con = DriverManager

    .getConnection("jdbc:mysql://localhost:3306/test?user=root&password=111111");

  String sql = "{call sel(?)}";

  CallableStatement cs = (CallableStatement)con.prepareCall(sql);

  cs.execute();

  String name = cs.getString(1);

  System.out.println(name);

 

创建存储过程代码:

drop procere if exists sel;

create procere sel(out name1 varchar(225))

begin

        select name into name1 from a limit 1;

end

 

输出结果:

热心网友 时间:2022-04-09 14:34

首先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 procere 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 procere 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();//关闭连接

总结: 先在数据库中建立存储过程,然后获得数据库连接conn后,生成CallableStatement对象,执行相应的操作。

热心网友 时间:2022-04-09 16:08

首先我在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 procere 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 procere 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();//关闭连接

总结: 先在数据库中建立存储过程,然后获得数据库连接conn后,生成CallableStatement对象,执行相应的操作。
看过的几篇文章:保留下来,下次记忆模糊了,在复习一下!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 嘴唇上有黑印用蜜蜡和棉线去除了胡须 java如何连接mySQL数据库? 怎么用java连接mysql数据库 Java如何连接MySQL数据库进行操作 用java怎么连接到mysql数据库 如何在java访问mysql数据库 如何使用Java访问MySQL数据库 怎么在java中读取mysql数据库 怎么在java中操作mysql数据库 java中怎么获取mysql数据库的数据 win7自动重启怎么办 windows7自动开机怎么设置 为什么win7自动开机 win7自动开机怎么设置 win7自动开机怎么取消 win7软件开机自动启动 怎么设置WIN7自动登录 win7电脑设置自动开机是怎么弄的 win7如何设置自动开机 win7系统电脑自动开机设置 衣服上不小心沾上了口香糖,应该怎么做才能清洁干净? can币是什么币 币组词有哪些 如何使用java连接mysql数据库 java怎么连接mysql数据库 秦始皇统一的“币”是不是“货币”,有何依据? 币的来历。 如何用Java实现获得MySQL数据库中所有表的记录总数 外盘大于内盘代表什么意思? 什么货币? 在股票里外盘数比内盘数大很多是什么意思. 币用古汉语解词 外盘大于内盘什么意思 成交量很大,外盘大于内盘,但股价下跌是什么意思? pr团队是什么意思 博主口中的pr是什么意思? PR,HR,软文 是什么意思? oppo手机右上方出现一个圆里面有一个水滴什么意思 天涯里头有人做公关的讲什么PR,这个具体是什么意思? 手机右上方有个水滴样的图案是什么意思? PR的作用