`
soboer
  • 浏览: 1310016 次
文章分类
社区版块
存档分类
最新评论

Mysql存储过程——多结果集返回与java获取

 
阅读更多

Mysql存储过程——多结果集返回与java获取

delimiter $$

CREATE PROCEDURE demoSp(IN inputParam VARCHAR(255), INOUTinOutParam varchar(255))

BEGIN

SELECT CONCAT('zyxw---', inputParam)into inOutParam;

END $$

delimiter ;

java代码:

Connection conn = null;

CallableStatement st = null; //list

ResultSet rs = null;

try{

conn = DBManager.getConnection();

st = conn.prepareCall("{call demoSp(?,?)}");

st.setString(1, "aaaaaaaaaaaa");

st.registerOutParameter(2, Types.VARCHAR);

st.execute();

System.out.println(st.getString(2));

}catch (Exception e) {

throw new RuntimeException(e);

}finally{

DBManager.release(conn, st, rs);

}

//第二种情况

存储过程经常需要返回多个结果集。 Mysql 中直接用 select 即可返回结果集。而 oracle 则需要使用游标来返回结 果集。这一点 Mysql 相对比较方便,如下代码即可实现输出两个结果集:

CREATEPROCEDUREtest_proc_multi_select()

BEGIN

select*fromtestproc;

select*fromtestprocwhereid=1;

END;

Java 代码

package com.hbsi.test;

import java.sql.CallableStatement;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Types;

import com.hbsi.utils.DBManager;

public class DemoMutilresult {

/**

* @param args

*/

publicstatic void main(String[] args) {

//TODO Auto-generated method stub

Connectioncon=null;

//用于执行sql存储过程的借口对象

CallableStatementst=null;

ResultSetrs=null;

try{

con=DBManager.getConnection();

//java中利用循环,即可获取结果际数据

Stringsql="{call test_mutil_proc()}";

st=con.prepareCall(sql);

//

booleanflag=st.execute();

inti=0;

while(flag){

System.out.println("第几个结果集"+(++i));

rs=st.getResultSet();

while(rs.next()){

System.out.println(rs.getInt(1));

}

flag=st.getMoreResults();

}

}catch (SQLException e) {

//TODO Auto-generated catch block

e.printStackTrace();

}finally{

DBManager.release(con,st, rs);

}

}

}

分享到:
评论

相关推荐

    JAVA8时间插入mysql少了8小时的解决办法(csdn)————程序.pdf

    JAVA8时间插入mysql少了8小时的解决办法(csdn)————程序

    毕业设计——流媒体视频直播服务器(Java + MySQL + FFmpeg + RTSP + RTP).zip

    Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。 面向对象 Java是一个面向对象的语言。对程序员来说,这意味着要注意其中的数据和...

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    ├─面试必问-架构杀手锏——java混乱的日志体系 │ java混亂日志体系源码揭秘.mp4 │ ├─面试必问-深入微服务之SpringBoot&Docker1 │ 深入微服务之SpringBoot&Docker.mp4 │ └─面试必问-聊聊哈希算法与HashMap

    Mysql的学习笔记01

    模块3:SQL接口,接受SQL命令后,调用SQL接口,执行并返回相应的结果集。 模块4:SQL解析引擎,SQL语句需要进行解析。将SQL语句解析成为抽象语法树。从中也要识别SQL语句是否合法。 模块5:优化引擎,抽象成语法树后...

    java源码包---java 源码 大量 实例

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    药源购物网站-基于SSM 框架+vue+ Mysql+Java+JSP技术的药源购物网站设计与实现(可运行源码+数据库+设计文档

    管理员主要是为了安全有效地存储和管理各类信息,还可以对系统进行管理与更新维护等操作,并且对后台有相应的操作权限 ———————————— 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库...

    Java全能学习面试手册——Java精品实战技术书.zip

    06 MySQL技术内幕 InnoDB存储引擎 第2版.pdf 07 Practical.API.Design.Confessions.of.a.Java.Framework.Architect.pdf 08 陈皓-Cloud Native 云化架构.pdf 09 从Paxos到Zookeeper 分布式一致性原理与实践.pdf 10 马...

    JAVA上百实例源码以及开源项目源代码

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    JAVA上百实例源码以及开源项目

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包4

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包3

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    Javaweb应用图片文件上传并预览,数据库存储路径——ssm实现

    Javaweb应用图片文件上传并预览,Tomcat服务器存储至磁盘,数据库mysql存储其图片路径

    java源码包2

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    Java高级编程——MySQL索引实现及优化原理解析

    在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的,本文主要讨论MyISAM和InnoDB两个存储引擎的索引实现方式。MyISAM索引实现MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    全书分4篇,共24章,其中,第1篇为技能学习篇,主要包括Java Web开发环境、JSP语法、JSP内置对象、Java Bean技术、Servlet技术、EL与JSTL标签库、数据库应用开发、初识Struts2基础、揭密Struts2高级技术、Hib锄劬e...

    java初学者必看

    16.4 Java与各种数据库连接 16.5 本章习题 第17章 Java Web应用——JSP 17.1 JSP技术概述 17.2 JSP运行环境搭建 17.2.1 Tomcat下载与安装 17.2.2 Tomcat的环境变量配置 17.3 基本语法 17.3.1 HTML注释 ...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java...

    基于JAVA的私人牙科诊所管理系统.rar

    MySQL是采用Java技术来实现CGI功能的一种技术,能够像CGI一样动态地扩展Web服务器的功能,并采用请求——响应模式提供Web服务 私人牙科诊所病例信息系统(HOSPITAL INFORMATION SYSTEM)简称HIS,是私人牙科诊所...

Global site tag (gtag.js) - Google Analytics