jdbc调用mysql存储过程实现代码_Mysql

1. 创建存储过程
建立一个MySQL的存储过程 add_pro

复制代码 代码如下:

delimiter //
drop procedure add_pro //
create procedure add_pro(a int , b int , out sum int )
begin
set sum = a * b;
end;
//

2. 调用存储过程

复制代码 代码如下:

package com.zhanggaosong;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Types;
public class CallableStatementTest {
public static final String DRIVER_CLASS = "com.mysql.jdbc.Driver";
public static final String URL = "jdbc:mysql://127.0.0.1:3306/test";
public static final String USERNAME = "root";
public static final String PASSWORD = "123456";
public static void main(String[] args) throws Exception {
Class.forName(DRIVER_CLASS);
Connection connection = DriverManager.getConnection(URL, USERNAME,
PASSWORD);
String sql = "{CALL add_pro(?,?,?)}"; //调用存储过程
CallableStatement cstm = connection.prepareCall(sql); //实例化对象cstm
cstm.setInt(1, 122);
cstm.setInt(2, 2); //
cstm.registerOutParameter(3, Types.INTEGER); // 设置返回值类型
cstm.execute(); // 执行存储过程
System.out.println(cstm.getInt(3));
cstm.close();
connection.close();
}
}

时间: 2024-10-01 09:33:26

jdbc调用mysql存储过程实现代码_Mysql的相关文章

java调用mysql存储过程实例分析

  本文实例讲述了java调用mysql存储过程的方法.分享给大家供大家参考.具体如下: 数据库的测试代码如下 : 1.新建表test ? 1 2 3 4 5 create table test( field1 int not null ) TYPE=MyISAM ; insert into test(field1) values(1); 2.删除已存在的存储过程: ? 1 2 3 -- 删除储存过程 delimiter // -- 定义结束符号 drop procedure p_test; 3

Mybatis调用MySQL存储过程的简单实现

1.存储过程的简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它. 一个存储过程是一个可编程的函数,它在数据库中创建并保存.它可以有SQL语句和一些特殊的控制结构组成.当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的.数据库中的存储过程可以看做是对编程中

Java实现调用MySQL存储过程详解_java

前言 存储过程(Stored Procedure)是存储在数据库中经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它. Java调用MySQL的存储过程,需要用JDBC连接,环境eclipse 首先查看MySQL中的数据库的存储过程,接着编写代码调用 mysql> show procedure status; +------+-------------+-----------+----------------+-------------

java调用mysql存储过程实例分析_java

本文实例讲述了java调用mysql存储过程的方法.分享给大家供大家参考.具体如下: 数据库的测试代码如下 : 1.新建表test create table test( field1 int not null ) TYPE=MyISAM ; insert into test(field1) values(1); 2.删除已存在的存储过程: -- 删除储存过程 delimiter // -- 定义结束符号 drop procedure p_test; 3.mysql存储过程定义: create p

JDBC调用MySQL5存储过程

一.环境 MySQL5.1 mysql-connector-java-5.1.10 jdk1.5 表 create table user ( id int(11) not null auto_increment, name varchar(50) not null, pswd varchar(50) default null, pic longblob, remark longtext, primary key (id) ); 二.写存储过程 DELIMITER $ DROP PROCEDURE

php调用MySQL存储过程的方法集合

本篇文章是对php调用MySQL存储过程的方法进行了集合与汇总,需要的朋友参考下   类型一:调用带输入.输出类型参数的方法 复制代码 代码如下: $returnValue = ''; try {  mysql_query ( "set @Return" );  $spname = 'P__Test_GetInfo1';  mysql_query ( "call $spname(@Return, '{$userId}', '{$pwd}')" ) or die (

.net调用mysql存储过程中输出参数的问题,求救~~

问题描述 环境.net2.0+mysql5.0.37+Connector/Net5.2问题:在ASP.NET中调用mysql存储过程(输出参数名于存储过程输出参数名不同时),提示输出参数不存在:Parameter'@param1'notfoundinthecollection.当ASP.NET中修改输出参数名于存储过程中输出参数名相同的时候,提示一个新的参数未定义:Parameter'@1118079786param1'mustbedefined.而这个参数变量是自动生成的,在存储过程中我并没有

急:Spring调用mysql存储过程

问题描述 我采用的是Spring+JDBC请问Spring怎么调用mysql存储过程?用JdbcTemplate的什么方法可以呀? 解决方案 解决方案二:顶起,近期也在想这个问题..坐等楼下..解决方案三: 解决方案四:可以callableStatementCallback解决方案五:publicvoidtest(){callableStatementCallbackcb=newcallableStatementCallback(){publicobjectdoInCallableStateme

详解php调用MySQL存储过程方法

MySQL从5.0开始才引入存储过程,反正以前做应用的时候从没碰过,不过现在因为主要作内部系统,所以很多应用都用到了存储过程,当然前台有时候也需要调用MySQL存储过程,PHP的MySQL Lib好像支持的不是很好,不过我搜索了些资料,虽然不多,但是还是尝试的使用了,现在介绍一下方法 1.调用存储过程的方法. a.如果存储过程有 IN/INOUT参数,声明一个变量,输入参数给存储过程,该变量是一对,一个php变量(也可以不必,只是没有php变量时,没有办法进行动态输入),一个Mysql变量. b