了解MySQL存储过程建立,

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

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

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

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

CREATE PROCEDURE myproc
(IN       p1 int,INOUT    p2 int,OUT      p3 int
)
BEGINSELECT 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) ;    // 设置第一个参数是70cstmt.setInt(2,80) ;    // 设置第二个参数是80cstmt.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 数据库编程基础 安装MySQL 进入官网下载页面:https://www.mysql.com/cn/downloads/ 以下红色横线标记的为mysql社区版,是免费的mysql版本: 接下 ...

  2. 为什么使用JDBC数据库编程

    为什么使用JDBC数据库编程 本文节选自<21天学通JAVA>一书 在JDBC数据库编程中经常要使用ODBC.所以,在讲述JDBC的驱动程序分类之前,首先介绍什么是ODBC.ODBC是指O ...

  3. java 核心技术Ⅱ--章五:JDBC数据库编程

    java数据库编程JDBC 简单的jdbc编程示例: public class DBTest {public static void runTest(){Connection conn = null; ...

  4. [java] JDBC数据库编程

    JDBC(Java Database Connectivity) Java数据库连接技术 官方JDK中提供的与JDBC有关的API都在java.sql包里面 API(Application Progr ...

  5. java获取hana接口数据,SAP Hana 数据库编程接口 - JDBC

    Hana JDBC 驱动 安装 SAP HANA Client 后,安装目录的 ngdbc.jar 就是 JDBC 数据库驱动.主要注意 url 的写法和 Driver 的名称 : Driver: c ...

  6. 数据库编程(一)JDBC篇

    一.jdbc概述 所有的数据库供应商和工具开发商都认为,如果Java能够认为SQL访问提供一套"纯"Java API,同时提供一个驱动管理,以允许第三方驱动程序可以连接到特定的数据 ...

  7. MySQL数据库(Java的数据库编程:JDBC)

    作者:渴望力量的土狗 博客主页:渴望力量的土狗的博客主页 专栏:MySQL数据库 目录 什么是数据库编程: 什么是JDBC? JDBC工作原理: JDBC的使用及相关操作: JDBC开发案例: JDB ...

  8. 数据库编程——intro to JDBC

    [0]README 1) 本文文字描述 转自 core java volume 2 , 旨在理解 数据库编程--JDBC 的基础知识 : 2)JDBC起源: 96年, Sun公司发布了 第一版的jav ...

  9. java基础类库——java数据库编程,JDBC连接(原生数据库连接)(十)

    java数据库编程,JDBC连接(原生数据库连接) JDBC严格来讲不属于一门技术,它属于一种服务.所有的操作流程都是固定的.JDBC是java提供的数据库操作的一个标准(它就是一组相关的标准接口), ...

最新文章

  1. 支持向量机(support vector machine)(SVM)(1)
  2. Spark基础:(六)Spark SQL
  3. Binary Tree Preorder Traversal
  4. nefu java作业2020.3.11第二章
  5. 屏的像素与传输速率_柔性半导体新突破:传输速度已足够驱动OLED像素
  6. mysql 6安装当前密码_MySQL8.0 安装踩坑指南
  7. 1.1.0-简介-P3-CAP 分布式 高可用
  8. 将绘图保存到图像文件,而不是使用Matplotlib显示
  9. linux查看绑定ipv6的端口号,[原创]如何在windows和linux绑定IPV6
  10. vrrp协议_Keepalived的高可用基石 - VRRP协议
  11. halcon 导出数据集_HALCON中级篇:Blob分析
  12. 程序、代码、硬件常见的英文缩写
  13. 粒子群算法求解二元函数极值-附带800字程序说明
  14. 实现了一个跨平台的 YUV 文件图片查看器
  15. vscode中setting设置
  16. 计算机的操作系统是什么与什么的接口,计算机中操作系统是什么的接口
  17. 利用tcp三次握手,使用awl伪装MAC地址进行多线程SYN Flood
  18. Qt扫盲-QSystemTrayIcon理论总结
  19. 10.25软件测试学习总结
  20. c# 两个数组拼接_C#对多个集合和数组的操作方法(合并,去重,判断)

热门文章

  1. android 机顶盒 页面布局,Android机顶盒用户DIY手册.doc
  2. 多关卡连连看php源码_奇怪的连连看ios版是一款非常好玩的手机消除闯关游戏,奇怪的连连看采用了最经典的三消玩法,游戏中有着非常多的游戏关卡,是一...
  3. linux关机_3.5 开关机命令及7个运行级别《LINUX-centos7-操作系统入门到精通》
  4. java foreach多线程_java关键字(一)
  5. C语言getchar函数
  6. oracle存储一个数字格式,Oracle根本数据类型存储格式研究(二)—数字类型
  7. java 日期 相差的天数_JAVA计算两个日期之间相差的天数
  8. leetcode刷题:LRU缓存淘汰算法
  9. throw和throws的区别是什么简答_Throws的作用是 ( )_学小易找答案...
  10. mysql 版本太高_mysql创建新库以及解决版本过高8.0以上导致navicat无法连接的问题...