jdbc调用存储过程

使用mysql数据库

  1. 在mysql中选择好数据库(我的mysql版本是8.0.25)

  2. 创建一个存储过程

    # 在MySQL中每行命令都是用“;”结尾,回车后自动执行,在存储过程中“;”往往不代表指令结束,马上运行,而DELIMITER原本就是“;”的意思,因此用这个命令转换一下“;”为“$$”,这样只有收到“$$”才认为指令结束可以执行
    DELIMITER $$
    # IN 输入参数,OUT 输出参数
    CREATE PROCEDURE register(IN username varchar(20),IN userpass varchar(20),OUT userid int)
    BEGIN insert into userinfo(userName,userPass)values(username,userpass);select LAST_INSERT_ID() INTO userid;
    END $$
    
  3. mysql中调用存储过程

    # 设置一个变量接收输出参数
    set @userid=0;
    # 调用
    CALL register('存储过程','ccgc',@userid);
    # 查询输出参数结果
    select @userid;
    

使用jdbc调用存储过程

  1. 引入mysql8的驱动jar包

    使用maven或手工引入都可以

  2. jdbc调用程序

    package com.kfm.config;import java.sql.*;public class DBHelper {public static void callProcedure() throws SQLException, ClassNotFoundException {// 加载sql驱动Class.forName("com.mysql.cj.jdbc.Driver");// 建立数据库连接Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1/eshop?serverTimezone=UTC", "root", "password");// 装载存储过程CallableStatement callableStatement = conn.prepareCall("{CALL register(?,?,?)}");//设置sql语句的参数callableStatement.setObject(1, "jdbc");callableStatement.setObject(2, "jdbc");callableStatement.registerOutParameter(3, Types.INTEGER);// 执行存储过程callableStatement.executeUpdate();//获取输出参数的值int userid=callableStatement.getInt(3);System.out.println(userid);//关闭连接callableStatement.close();conn.close();}// 测试public static void main(String[] args) {try {callProcedure();} catch (ClassNotFoundException | SQLException e) {e.printStackTrace();}}
    }
    

jdbc调用存储过程相关推荐

  1. jdbc批量调用oracle存储过程,oracle学习笔记(二十三)——JDBC调用存储过程以及批量操作...

    jdbc调用存储过程 使用并获得out模式的参数返回值 //存储过程为sum_sal(deptno department.deptno%type,sum in out number) Callable ...

  2. jdbc调用存储过程的方法

    ----------------------------jdbc调用存储过程的方法--------------------------------------------------- private ...

  3. DM8 jdbc调用存储过程传参list<实体类>

    DM8 jdbc调用存储过程传参list<实体类> 一.前提 jdbc的连接串参数prepareOptimize,表示是否对预编译SQL做优化,取值true/false,默认false不开 ...

  4. 使用jdbc调用存储过程

    存储过程是指保存在数据库并在数据库端执行的程序.你可以使用特殊的语法在Java类中通过JDBC调用存储过程.在调用时,存储过程的名称及指定的参数通过JDBC连接发送给DBMS,执行存储过程并通过连接( ...

  5. mysql jdbc 创建存储过程_mysql JDBC 调用存储过程

    与oracle不同,mysql不支持匿名块,如果需要写过程语句,则必需定义存储过程.如果你会oracle的存储过程,那么mysql的存储过程也很简单了. 一.创建存储过程 create procedu ...

  6. Oracle 存储过程,Hibernate 调用存储过程,JDBC调用存储过程,Oracle 动态SQL

    Oracle 存储过程学习 目录 Oracle 存储过程........................................................................ ...

  7. JDBC第二篇 【PreparedStatment、批处理、处理二进制、自动主键、调用存储过程、函数】...

    tags: JDBC 1.PreparedStatement对象 PreparedStatement对象继承Statement对象,它比Statement对象更强大,使用起来更简单 Statement ...

  8. JDBC使用总结:增删改查、调用存储过程、执行存储函数、存储过程与存储函数区别分析

    JDBC(Java Database Connectivity):Java访问数据库的解决方案. JDBC只定义接口,具体实现由各个数据库厂商负责. 原生jdbc技术的使用基本都是模板式的开发,基本格 ...

  9. 创建oracle的存储过程,以及通过JDBC调用该存储过程

    一.创建存储过程 create or replace procedure mwp_jgdx_dxxm_batchcopy ( srcxmid in varchar, --项目ID字符串 bbjlid ...

最新文章

  1. cocos2d-x一些核心概念介绍
  2. iOS设计模式 - 生成器
  3. CSS基础工作原理(一)——css规则与选择符器
  4. Nginx负载均衡和反向代理
  5. Java Reflection(九):泛型
  6. 前端学习(2669): vue3.0实战开始建立新项目
  7. 前端学习(2034)vue之电商管理系统电商系统之绘制图表
  8. css3禅密花园叫什么名字_新生儿起名:2021元旦出生男孩叫什么名字
  9. 数据结构与算法 Python语言描述 笔记
  10. 大数据之-Hadoop之HDFS的API操作_查看文件的详情---大数据之hadoop工作笔记0061
  11. 洛谷1031 均分纸牌 解题报告
  12. 【物联网】物联网关键技术与应用分析
  13. 计算机专业硕士论文字数要求,计算机专业硕士论文写作格式要求(参考)
  14. 经典算法之异或运算(无进位相加)
  15. MyBatis从入门到精通(一)—MyBatis基础知识和快速入门
  16. GIS空间分析 数字地形分析4 明暗等高线的制作
  17. Linux 音频驱动(五) ALSA音频驱动之PCM逻辑设备
  18. 【课程表小程序源码】增加今日课表功能|开源代码
  19. 微信打开网址提示已停止访问该网页 怎么办?
  20. 如何在centos7上安装桌面系统

热门文章

  1. 用计算机VLOOKUP,教你在excel中使用VLOOKUP函数
  2. mysql80版本连接 1251_解决Navicat Premium 连接 MySQL 8.0 报错1251的问题分析
  3. 如何解决按空格键却整段后移?
  4. 【应用层1】Http简史
  5. macbook历代_2006至2015:历代MacBook简要回顾
  6. 如何使用正则表达式进行QQ校友的数据采集
  7. android仿微信红包动画、Kotlin综合应用、Xposed模块、炫酷下拉视觉、UC浏览器滑动动画等源码...
  8. 计算机图形学 第五章 曲线与曲面(下)
  9. 学会这几招,再也不用为简历的项目经历发愁,教你高效填补简历空白
  10. 基于p5.js的简单绘画系统