jdbc调用存储过程
jdbc调用存储过程
使用mysql数据库
在mysql中选择好数据库(我的mysql版本是8.0.25)
创建一个存储过程
# 在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 $$
mysql中调用存储过程
# 设置一个变量接收输出参数 set @userid=0; # 调用 CALL register('存储过程','ccgc',@userid); # 查询输出参数结果 select @userid;
使用jdbc调用存储过程
引入mysql8的驱动jar包
使用maven或手工引入都可以
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调用存储过程相关推荐
- jdbc批量调用oracle存储过程,oracle学习笔记(二十三)——JDBC调用存储过程以及批量操作...
jdbc调用存储过程 使用并获得out模式的参数返回值 //存储过程为sum_sal(deptno department.deptno%type,sum in out number) Callable ...
- jdbc调用存储过程的方法
----------------------------jdbc调用存储过程的方法--------------------------------------------------- private ...
- DM8 jdbc调用存储过程传参list<实体类>
DM8 jdbc调用存储过程传参list<实体类> 一.前提 jdbc的连接串参数prepareOptimize,表示是否对预编译SQL做优化,取值true/false,默认false不开 ...
- 使用jdbc调用存储过程
存储过程是指保存在数据库并在数据库端执行的程序.你可以使用特殊的语法在Java类中通过JDBC调用存储过程.在调用时,存储过程的名称及指定的参数通过JDBC连接发送给DBMS,执行存储过程并通过连接( ...
- mysql jdbc 创建存储过程_mysql JDBC 调用存储过程
与oracle不同,mysql不支持匿名块,如果需要写过程语句,则必需定义存储过程.如果你会oracle的存储过程,那么mysql的存储过程也很简单了. 一.创建存储过程 create procedu ...
- Oracle 存储过程,Hibernate 调用存储过程,JDBC调用存储过程,Oracle 动态SQL
Oracle 存储过程学习 目录 Oracle 存储过程........................................................................ ...
- JDBC第二篇 【PreparedStatment、批处理、处理二进制、自动主键、调用存储过程、函数】...
tags: JDBC 1.PreparedStatement对象 PreparedStatement对象继承Statement对象,它比Statement对象更强大,使用起来更简单 Statement ...
- JDBC使用总结:增删改查、调用存储过程、执行存储函数、存储过程与存储函数区别分析
JDBC(Java Database Connectivity):Java访问数据库的解决方案. JDBC只定义接口,具体实现由各个数据库厂商负责. 原生jdbc技术的使用基本都是模板式的开发,基本格 ...
- 创建oracle的存储过程,以及通过JDBC调用该存储过程
一.创建存储过程 create or replace procedure mwp_jgdx_dxxm_batchcopy ( srcxmid in varchar, --项目ID字符串 bbjlid ...
最新文章
- cocos2d-x一些核心概念介绍
- iOS设计模式 - 生成器
- CSS基础工作原理(一)——css规则与选择符器
- Nginx负载均衡和反向代理
- Java Reflection(九):泛型
- 前端学习(2669): vue3.0实战开始建立新项目
- 前端学习(2034)vue之电商管理系统电商系统之绘制图表
- css3禅密花园叫什么名字_新生儿起名:2021元旦出生男孩叫什么名字
- 数据结构与算法 Python语言描述 笔记
- 大数据之-Hadoop之HDFS的API操作_查看文件的详情---大数据之hadoop工作笔记0061
- 洛谷1031 均分纸牌 解题报告
- 【物联网】物联网关键技术与应用分析
- 计算机专业硕士论文字数要求,计算机专业硕士论文写作格式要求(参考)
- 经典算法之异或运算(无进位相加)
- MyBatis从入门到精通(一)—MyBatis基础知识和快速入门
- GIS空间分析 数字地形分析4 明暗等高线的制作
- Linux 音频驱动(五) ALSA音频驱动之PCM逻辑设备
- 【课程表小程序源码】增加今日课表功能|开源代码
- 微信打开网址提示已停止访问该网页 怎么办?
- 如何在centos7上安装桌面系统
热门文章
- 用计算机VLOOKUP,教你在excel中使用VLOOKUP函数
- mysql80版本连接 1251_解决Navicat Premium 连接 MySQL 8.0 报错1251的问题分析
- 如何解决按空格键却整段后移?
- 【应用层1】Http简史
- macbook历代_2006至2015:历代MacBook简要回顾
- 如何使用正则表达式进行QQ校友的数据采集
- android仿微信红包动画、Kotlin综合应用、Xposed模块、炫酷下拉视觉、UC浏览器滑动动画等源码...
- 计算机图形学 第五章 曲线与曲面(下)
- 学会这几招,再也不用为简历的项目经历发愁,教你高效填补简历空白
- 基于p5.js的简单绘画系统