了解MySQL存储过程建立,

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

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

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

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

  1. CREATE PROCEDURE myproc
  2. (
  3. IN p1 int,
  4. INOUT p2 int,
  5. OUT p3 int
  6. )
  7. BEGIN
  8. SELECT p1,p2,p3; -- 输出p1p2p3的内容
  9. SET p1=10 ;
  10. SET p2=20 ;
  11. SET p3=30 ;
  12. END

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

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

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

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

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. Python中sorted函数的用法(转)

    [Python] sorted函数 我们需要对List.Dict进行排序,Python提供了两个方法 对给定的List L进行排序, 方法1.用List的成员函数sort进行排序,在本地进行排序,不返 ...

  2. Maven环境配置及idea建Maven工程

    https://blog.csdn.net/qq_37497322/article/details/78988378

  3. [TC14860]SquadConstructor2

    [TC14860]SquadConstructor2 题目大意: 有\(n(n<2^m,m\le8)\)个互不相等的数\(v_i\).从中选取\(k(k\le8)\)个数\(b_i\),求\(\ ...

  4. Codeforces Beta Round #3 A. Shortest path of the king 水题

    A. Shortest path of the king 题目连接: http://www.codeforces.com/contest/3/problem/A Description The kin ...

  5. iOS 11 安全区域适配

    //解决iOS11,仅实现heightForHeaderInSection,没有实现viewForHeaderInSection方法时,section间距大的问题 [UITableView appea ...

  6. 源码安装redis初始化实例脚本

    #!/bin/bash - #Date: -- #Auth: Jin version='2.8.7' progname='redis' pkgname="${progname}-${vers ...

  7. 利用tempo将json数据填充到html模板

    1.下载tempo 2.使用 <!DOCTYPE html> <html> <head lang="zn-ch"> <meta chars ...

  8. Object.keys()的简单理解

    1.对象的话返回属性名 var obj = {'a':'123','b':'345'}; console.log(Object.keys(obj)); //['a','b'] var obj1 = { ...

  9. !!! # @ --- ODATA 云驱动 --- 数据库发布 RESTFUL API

    Cloud Drivers   ODATA 云驱动   http://www.cdata.com/cloud/ Makes on-premise & cloud data sources ea ...

  10. javascript配置ckfinder的路径

    <script type="text/javascript" src="ckfinder/ckfinder.js"></script> ...