Java调用MySQL存储过程并获得返回值的方法
来源:才华咖 本文已影响8.51K人
来源:才华咖 本文已影响8.51K人
本文yjbys小编为大家主要介绍了Java调用MySQL存储过程并获得返回值的方法,实例分析了java实现MySQL存储过程的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了Java调用MySQL存储过程并获得返回值的方法。分享给大家供大家参考。具体如下:
private void empsInDept(Connection myConnect, int deptId) throws SQLException {
CALlableStatement cStmt = areCall("{CALL sp_emps_in_dept(?)}");
nt(1, deptId);
ute();
ResultSet rs1 = esultSet();
while (()) {
tln(tring("department_name") + " " + tring("location"));
}
e();
/* process second result set */
if (oreResults()) {
ResultSet rs2 = esultSet();
while (()) {
tln(nt(1) + " " + tring(2) + " " + tring(3));
}
e();
}
e();
}
本文实例讲述了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 procedure p_test()
begin
declare temp int;
set temp = 0;
update test set field1 = values(temp);
end
4、调用方法:
CallableStatement cStmt = areCall("{call p_test()}");
uteUpdate();
import .*;
/**
iGoder
*/
public class ProcedureTest {
/*
表和存储过程定义如下:
delimiter //
DROP TABLE if exists test //
CREATE TABLE test(
id int(11) NULL
) //
drop procedure if existssp1 //
create procedure sp1(in p int)
comment 'insert into a int value'
begin
declare v1 int;
set v1 = p;
insert into test(id) values(v1);
end
//
drop procedure if exists sp2 //
create procedure sp2(out p int)
begin
select max(id) into p from test;
end
//
drop procedure if exists sp6 //
create procedure sp6()
begin
select * from test;
end//
*/
public static void main(String[] args) {
//callIn(111);
//callOut();
callResult();
}
/**
* 调用带有输入参数的存储过程
* @param in stored procedure input parametervalue
*/
public static void callIn(int in){
//获取连接
Connection conn = onnection();
CallableStatement cs = null;
try {
//可以直接传入参数
//cs = areCall("{call sp1(1)}");
//也可以用问号代替
cs = areCall("{call sp1(?)}");
//设置第一个输入参数的`值为110
nt(1, in);
ute();
} catch (Exception e) {
tStackTrace();
} finally {
try {
if(cs != null){
e();
}
if(conn != null){
e();
}
} catch (Exception ex) {
tStackTrace();
}
}
}
/**
* 调用带有输出参数的存储过程
*
*/
public static void callOut() {
Connection conn = onnection();
CallableStatement cs = null;
try {
cs = areCall("{call sp2(?)}");
//第一个参数的类型为Int
sterOutParameter(1, GER);
ute();
//得到第一个值
int i = nt(1);
tln(i);
} catch (Exception e) {
tStackTrace();
} finally {
try {
if(cs != null){
e();
}
if(conn != null){
e();
}
} catch (Exception ex) {
tStackTrace();
}
}
}
/**
* 调用输出结果集的存储过程
*/
public static void callResult(){
Connection conn = onnection();
CallableStatement cs = null;
ResultSet rs = null;
try {
cs = areCall("{call sp6()}");
rs = uteQuery();
//循环输出结果
while(()){
tln(tring(1));
}
} catch (Exception e) {
tStackTrace();
} finally {
try {
if(rs != null){
e();
}
if(cs != null){
e();
}
if(conn != null){
e();
}
} catch (Exception ex) {
tStackTrace();
}
}
}
}
/**
*获取数据库连接的类
*/
import ection;
import erManager;
import aredStatement;
import ltSet;
import xception;
import ement;
class ConnectDb {
public static Connection getConnection(){
Connection conn = null;
PreparedStatement preparedstatement = null;
try {
ame("er")nstance();
String dbname = "test";
String url="jdbc:mysql://localhost/"+dbname+"?user=root&password=root&useUnicode=true&characterEncoding=8859_1";
conn= onnection(url);
} catch (Exception e) {
tStackTrace();
}
return conn;
}
}
希望本文所述对大家的java程序设计有所帮助。
java编写oracle存储的方法
java获取Class对象的方法
Java中调用Oracle包的过程
Java中的== 和equals()方法详解与实例教程
JAVA认证开源技术:关于Java的对象equals方法
jQuery的load()方法及其回调函数用法示例
讲解Java编程中finally语句的使用方法
关于java如何配置MyEclipse Maven环境具体方法
java system类使用方法示例
Java中ArrayList类的使用方法
Java怎么编写Oracle存储过程
Java中如何使用嵌入MySQL
Java远程方法调用RMI
java连接mysql数据库乱码如何解决
Java学习之MySQL翻页例子
Dreamweaver中JavaScript行为操作使用方法
Java并发编程:深入剖析ThreadLocal
java环境变量path和classpath的配置过程
初中英语作文:Jim Lambert’s vacation plans
如何理解Javascript的caller,callee,call,apply区别
如何理解Javascript的caller,callee,call,apply区别
关于JavaScript中call()和apply() 的一些理解
javascript数组使用调用方法
java远程方法调用技巧
如何理解Javascript的caller,callee,call,apply区别
html5的canvas方法使用
存储工程师岗位职责
如何理解Javascript的caller,callee,call,apply区别
Javascript实例教程如何使用HoTMetal
板栗的储存方法及功效作用
使用ajax操作JavaScript对象的方法
Java调用MySQL存储过程并获得返回值的方法
关于apache mysql php 源码编译使用方法
使用JavaScript实现Java的List功能
Javascript中call与apply的学习笔记示例
javasc ript 返回上一页及刷新页面的实现方法
java的split方法使用范例
语法翻译法存在的价值
aircy,的过程,作者,3页,教程,js,javascript,分享
Java中hashmap和hashtable的区别