了解MySQL存储过程建立,

了解存储过程中参数传递的三种方式

了解callablestatement调用存储过程操作。

因为在现在开发中,使用存储过程的地方越来越少,所以,对于存储过程使用,只需要了解,不需要深入。

现在先建议一个存储过程;

CREATE PROCEDURE myproc
(
IN p1 int,
INOUT p2 int,
OUT p3 int
)
BEGIN
SELECT p1,p2,p3; -- 输出p1、p2、p3的内容
SET p1=10 ;
SET p2=20 ;
SET p3=30 ;
END

IN类型:默认设置,什么都不声明,只是将内容传递过来。

INOUT类型:表示把值传递到过程中,并且保持过程对值的修改。

OUT:可以不传递内容,过程对此值的操作可以返回。

package 类集;
import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.SQLException ;
import java.sql.CallableStatement ;
import java.sql.Types ;
public class ProcDemo{
// 定义MySQL的数据库驱动程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
// 定义MySQL数据库的连接地址
public static final String DBURL = "jdbc:mysql://localhost:3306/sys" ;
// MySQL数据库的连接用户名
public static final String DBUSER = "root" ;
// MySQL数据库的连接密码
public static final String DBPASS = "aaaaaa" ;
public static void main(String args[]) throws Exception{ // 所有异常抛出
Connection conn = null ; // 数据库连接
CallableStatement cstmt = null ; // 数据库操作
String sql = "{CALL myproc(?,?,?)}" ; // 调用过程
Class.forName(DBDRIVER) ; // 加载驱动程序
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
cstmt = conn.prepareCall(sql) ;
cstmt.setInt(1,70) ; // 设置第一个参数是70
cstmt.setInt(2,80) ; // 设置第二个参数是80
cstmt.registerOutParameter(2,Types.INTEGER) ;  //注册返回值类型,因为第二个和第三个参数分别是INOUT和OUT类型,所以有返回值,要注册类型。
cstmt.registerOutParameter(3,Types.INTEGER) ;
cstmt.execute() ; // 执行过程
System.out.println("INOUT的返回值:" + cstmt.getInt(2)) ;
System.out.println("OUT的返回值:" + cstmt.getInt(3)) ;
cstmt.close() ;
conn.close() ; // 数据库关闭
}
};

JDBC数据库编程:callableStatement接口的更多相关文章

  1. JDBC数据库编程常用接口(转)

    JDBC的全称是Java DataBase Connectivity,是一套面向对象的应用程序接口(API),制定了统一的访问各种关系数据库的标准接口,为各个数据库厂商提供了标准接口的实现.这东西能够 ...

  2. Java JDBC数据库编程

    课程  Java面向对象程序设计 一.实验目的 掌握数据库编程技术 二.实验环境 1.微型计算机一台 2.WINDOWS操作系统,Java SDK,Eclipse开发环境,Microsoft SQL  ...

  3. JDBC数据库编程:PreparedStatement接口

    使用PreparedStatement进行数据库的更新及查询操作. PreparedStatement PreparedStatement是statement子接口.属于预处理. 使用statemen ...

  4. JDBC数据库编程:ResultSet接口

    掌握ResultSet接口 使用ResultSet接口进行查询 ResultSet接口 在JDBC操作中,数据库所有查询记录将使用ResultSet进行接收,并使用ResultSet显示内容. 常用方 ...

  5. JDBC数据库编程

    常识名词:ODBC ,JDBC,JDBC API ,JDBC Driver API  数据准备,续上节:   JDBC编程流程 最基本的JDBC操作 本段内容主要完成JDBC的增删查改操作 packa ...

  6. Java高级篇(三)——JDBC数据库编程

    JDBC是连接数据库和Java程序的桥梁,通过JDBC API可以方便地实现对各种主流数据库的操作.本篇将介绍一下如何使用JDBC操作数据库(以MySQL为例). 一.JDBC JDBC制定了统一访问 ...

  7. Java ——JDBC数据库编程

    数据库分类 关系型数据库:以表来存放数据的,数据与数据之间的关系通过表之间的连接体现 面向对象的数据库:保存的是对象本身 其它 数据库:数据库管理系统中创建一个个的保存数据的单位 数据是保存在数据库的 ...

  8. JDBC数据库编程(java实训报告)

    文章目录 一.实验要求: 二.实验环境: 三.实验内容: 1.建立数据库连接 2.查询数据 2.1 测试结果 3.添加数据 3.1.测试结果 4.删除数据 4.1.测试结果 5.修改数据 5.1 测试 ...

  9. JDBC数据库编程基本流程

    1.加载驱动类 Class.forName("");   2.创建数据库连接 Connection con = DriverManager.getConnection(url, u ...

随机推荐

  1. 使用appframework前端框架中输入框圆角问题

    目前使用HTML5技术来开发手机跨平台app已经成为了曾经的web开发人员介入移动开发的一条捷径.与此对应也出现了很多新的技术来支撑这样的开发方式,例如国外的phonegap和国内的APPcan等.很 ...

  2. MTK平台源码 mt6589-jb3-x_20131122

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha

  3. BZOJ 3239 Discrete Logging(BSGS)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3239 [题目大意] 计算满足 Y^x ≡ Z ( mod P) 的最小非负整数 [题解 ...

  4. [xsy2238]snake

    题意:给定一条折线,问能否在不扭曲它的情况下让它完全通过一个小孔 这个条件就是:过折线上任意一点$x$存在一条直线把折线分成不与直线相交的两部分,换句话说存在(与折线只有一个交点$x$)的直线 结论是 ...

  5. 【二分】【字符串哈希】【二分图最大匹配】【最大流】XVII Open Cup named after E.V. Pankratiev Stage 14, Grand Prix of Tatarstan, Sunday, April 2, 2017 Problem I. Minimum Prefix

    给你n个字符串,问你最小的长度的前缀,使得每个字符串任意循环滑动之后,这些前缀都两两不同. 二分答案mid之后,将每个字符串长度为mid的循环子串都哈希出来,相当于对每个字符串,找一个与其他字符串所选 ...

  6. 【欧拉回路】Gym - 101411C - Courier's Route

    每个城市有4个城门,每个城门会发出唯一一条边去别的城市的城门.问你能否从城市1出发,经过每个城门恰好一次,再回到城市1. 每个城市的度数都是4,必然存在欧拉回路(如果连通).欧拉回路显然是一个合法解. ...

  7. Problem E: 12306

    #include <stdio.h> struct student{ int n; int m;}; int main(void) { int T; int k,g,i,j; ],max; ...

  8. 一键建立zookeeper集群

    使用yaml文件的好处,通过service name来进行pod间的服务发现, 集群配置dns. [root@k8s-master ~]# cat zookeeper-cluster.yaml api ...

  9. LaTeX之参考文献的写法

    在编写latex文件时,参考文献是个比较头疼的问题,以前自己写的时候总是用 \begin{thebibliography}\bibitem author,article, year, vol,\end ...

  10. [转]SSIS Recordset Destination

    本文转自:http://www.sqlis.com/sqlis/post/Shredding-a-Recordset.aspx Doing what to a recordset? Shredding ...