`
xixian
  • 浏览: 210873 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java调用mysql存储过程例子

 
阅读更多
获取数据库连接的类
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
 /**
*获取数据库连接的类
*/
class ConnectDb {

public static Connection getConnection(){
  Connection conn = null;
  PreparedStatement preparedstatement = null;
  try {
   Class.forName("org.gjt.mm.mysql.Driver").newInstance();
   String dbname = "test";
   String url ="jdbc:mysql://localhost/"+dbname+"?user=root&password=root&useUnicode=true&characterEncoding=8859_1" ;
   conn= DriverManager.getConnection(url);
  } catch (Exception e) {
   e.printStackTrace();
  }
  return conn;
}
 
} 


import java.sql.*;
 
 /**
  * 调用带有输入参数的存储过程,三种情况例子
  */
public class ProcedureTest {
 
 public static void main(String[] args) {
  //callIn(111);
  //callOut();
  callResult();
 }
 
 /**
  * 1.调用带有输入参数的存储过程
  * @param in     stored procedure input parameter value
  */
 public static void callIn(int in){
  //获取连接
  Connection conn = ConnectDb.getConnection();
  CallableStatement cs = null;
  try {
   //可以直接传入参数
   //cs = conn.prepareCall("{call sp1(1)}");
   
   //也可以用问号代替
   cs = conn.prepareCall("{call sp1(?)}");
   //设置第一个输入参数的值为110
   cs.setInt(1, in);
   
   cs.execute();
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   try {
    if(cs != null){
     cs.close();
    }
    if(conn != null){
     conn.close();
    }
   } catch (Exception ex) {
    ex.printStackTrace();
   }
  }
  
 }
 
 /**
  * 2.调用带有输出参数的存储过程
  *
  */
 public static void callOut() {
  Connection conn = ConnectDb.getConnection();
  CallableStatement cs = null;
  try {
   cs = conn.prepareCall("{call sp2(?)}");
   //第一个参数的类型为Int
   cs.registerOutParameter(1, Types.INTEGER);
   cs.execute();
   
   //得到第一个值
   int i = cs.getInt(1);
   System.out.println(i);
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   try {
    if(cs != null){
     cs.close();
    }
    if(conn != null){
     conn.close();
    }
   } catch (Exception ex) {
    ex.printStackTrace();
   }
  }
 }
 
 /**
  * 3.调用输出结果集的存储过程
  */
 public static void callResult(){
  Connection conn = ConnectDb.getConnection();
  CallableStatement cs = null;
  ResultSet rs =  null;
  try {
   cs = conn.prepareCall("{call sp6()}");
   rs = cs.executeQuery();
   
   //循环输出结果
   while(rs.next()){
    System.out.println(rs.getString(1));
   }
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   try {
    if(rs != null){
     rs.close();
    }
    if(cs != null){
     cs.close();
    }
    if(conn != null){
     conn.close();
    }
   } catch (Exception ex) {
    ex.printStackTrace();
   }
  }
 }
 
}
分享到:
评论

相关推荐

    java 调用 mysql存储过程实例

    java 调用 mysql存储过程实例

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

    主要介绍了java调用mysql存储过程的方法,以实例形式较为详细的分析了mysql数据库的建立和存储过程的实现方法,需要的朋友可以参考下

    Java调用MySQL存储过程并获得返回值的方法

    主要介绍了Java调用MySQL存储过程并获得返回值的方法,实例分析了java实现MySQL存储过程的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    mysql存储过程和存储函数的示例

    mysql 存储过程 ,存储函数的调用示例

    Java实现用Mysql存取图片操作实例

    主要介绍了Java实现用Mysql存取图片操作实例,本文讲解了使用BLOB类型保存和读取图片的代码实例,需要的朋友可以参考下

    mysql存储过程用法实例分析

    本文实例讲述了mysql存储过程用法。分享给大家供大家参考,具体如下: 概述: 简单的说,就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法; 存储过程跟触发器有点类似,都是...

    一个MySQL存储引擎插件 它能够在 cantian 存储引擎的帮助下将MySQL 实例形成一个多读多写的透明集群

    Cantian connector (MySQL版)是由华为研发的一款MySQL存储引擎插件。它能够在无侵入的情况下将16个(或更多)MySQL实例组成一个多读多写的应用透明集群,并借助Cantian数据存储引擎提供更高的OLTP性能以及更强的高可...

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

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

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

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

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

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    基于java+mysql实现双色球购买及抽奖程序控制台版本(完整源码+数据库+面向对象)

    基于java+mysql实现双色球购买及抽奖程序控制台版本(完整源码+数据库) 功能描述: 使用面向对象的技术完成双色球彩票购买及抽奖程序,完成以下功能,双色球的游戏规则自行百度。 购买彩票功能,需输入购买几张彩票...

    浅谈MySQL存储过程中declare和set定义变量的区别

    2、@set定义的变量,叫做会话变量,也叫用户定义变量,在整个会话中都起作用(比如某个应用的一个连接过程中),即这个变量可以在被调用的存储过程或者代码之间共享数据。如何理解呢?可以看下面这个简单例子,很好...

    MySQL 5.1中文手冊

    2.3.4. 使用MySQL安装向导 2.3.5. 使用配置向导 2.3.6. 通过非安装Zip文件安装MySQL 2.3.7. 提取安装档案文件 2.3.8. 创建选项文件 2.3.9. 选择MySQL服务器类型 2.3.10. 首次启动服务器 2.3.11. 从Windows命令行启动...

    网站设计开发中MySQL数据库的具体运用过程,并且附带实例解析.docx

    网站设计开发中MySQL数据库的具体运用过程,并且附带实例解析 MySQL是一种功能强大、性能稳定、易于使用、可靠性高的关系型数据库管理系统,因其优秀的特性被广泛采用。在网站开发设计中,MySQL数据库是一个非常重要...

    MYSQL

    3.4.3 ISP MySQL服务 3.4.4 运营一个使用MySQL的Web服务器 3.5 MySQL的许可证和技术支持费用 3.5.1 付款信息 3.5.2 联系信息 3.6 商业性支持的类型 3.6.1 基本的电子邮件支持 3.6.2...

    java源码包4

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...

    java源码包3

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...

    可二次开发二个非常简单的mysqljava增删改查功能例子.rar

    通过这个例子,学生可以学习到如何使用Java编程语言连接MySQL数据库,以及如何实现基本的数据库操作,如插入、删除、更新和查询数据。在这个例子中,我们创建了一个简单的用户管理应用,用户可以对用户信息进行增删...

    MySQL中文参考手册

    + 3.4.4 运营一个使用MySQL的Web服务器 o 3.5 MySQL的许可证和技术支持费用 + 3.5.1 付款信息 + 3.5.2 联系信息 o 3.6 商业性支持的类型 + 3.6.1 基本的电子邮件支持 + 3.6.2 扩展的电子邮件支持 + 3.6.3 ...

Global site tag (gtag.js) - Google Analytics