Java JDBC调用存储过程:无参、输入带参、输出及输出带参

示例代码:

package xzg;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types; public class JDBCtest {
public static void main(String[] args) {
//test();
//test2();
test3();
}
/*
* 命令行创建的存储过程函数为: create procedure all_user() select * from user;
* 创建一个查询所有内容的存储过程
* 调用无参存储过程
*/
static void test() {
Connection conn = Dbutil.open();
try {
//存储过程函数固定格式:{call xxx}
CallableStatement cs = conn.prepareCall("{call all_user()}");
ResultSet rs = cs.executeQuery();
while (rs.next()) {
int id = rs.getInt(1);
String name = rs.getString(2);
int age = rs.getInt(3);
System.out.println(id + "," + name + "," + age);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
Dbutil.close(conn);
}
}
/*
* 命令行创建的存储过程函数为:
* create procedure insert_user(in myname varchar(20),
* in myage tinyint(20)) insert user(username,age) values(myname,myemail);
* 表示创建一个插入myname,数据类型为varchar(20); myage,数据类型为tinyint(20)的存储过程
* 调用输入带参存储过程
*/
static void test2() {
Connection conn = Dbutil.open();
try {
CallableStatement cs = conn.prepareCall("{call insert_user(?,?)}");
cs.setString(1, "jack");
cs.setInt(2, 10);
cs.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
Dbutil.close(conn);
}
}
/*
* 命令行创建的存储过程函数为:
* create procedure getnamebyid(in cid int,
* out return_name varchar(20)) select username into return_name
* from user where id =cid;
* 表示创建一个如果id为cid,那么就输出返回一个return_name
* 调用输入、输出带参存储过程
*/
static void test3() {
Connection conn = Dbutil.open();
try {
CallableStatement cs = conn.prepareCall("{call getnamebyid(?,?)}");
cs.setInt(1, 3); //索引1,第3个id
//输出参数的话要注册
cs.registerOutParameter(2, Types.CHAR);
//注册后要更新
cs.execute();
String name =cs.getString(2); //这个是索引的意思
cs.executeQuery();
System.out.println(name);
} catch (SQLException e) {
e.printStackTrace();
} finally {
Dbutil.close(conn);
}
}
}

Java JDBC调用存储过程:无参、输入带参、输出及输出带参的更多相关文章

  1. java——jdbc调用存储过程

    1,加载驱动: 2,获取连接 3,设置参数 4,执行: 5,释放连接 普通jdbc的执行过程: conn.prepareCall() 上面是一个调用存储过程的示例.

  2. JDBC调用存储过程,进参出参

    今天做了一个数据表拷贝的功能,用到了存储过程,就写了一个java中用jdbc调用存储过程的代码,成功的实现了功能,晚上跑回家记录下 Connection conn = ConnectionUtil.g ...

  3. Java数据库连接——JDBC调用存储过程,事务管理和高级应用

    一.JDBC常用的API深入详解及存储过程的调用 相关链接:Jdbc调用存储过程 1.存储过程(Stored Procedure)的介绍 我们常用的操作数据库语言SQL语句在执行的时候需要先编译,然后 ...

  4. Java数据库连接--JDBC调用存储过程,事务管理和高级应用

    相关链接:Jdbc调用存储过程 一.JDBC常用的API深入详解及存储过程的调用 1.存储过程的介绍 我们常用的操作数据库语言SQL语句在执行的时候要先进行编译,然后执行,而存储过程是在大型数据库系统 ...

  5. JDBC调用存储过程

    一. JDBC调用存储过程 (1)使用存储过程SQL编写的程序代码,等一段语句和控制流语句.在创建时被编译成机器代码和存储在数据库中的client转让. 存储过程具有以下优势: 1.所生成的机器代码被 ...

  6. JDBC(13)—JDBC调用存储过程和函数

    步骤: JDBC调用存储过程和函数 步骤: ①:通过Connection对象的prepareCall()方法创建一个CallableStatement对象的实例,在使用Connection对象的pre ...

  7. java程序调用存储过程

    java程序调用存储过程       PL/SQL子程序,很多情况下是给应用程序来调用的,所有我们要掌握使用其他编程语言来调用我们写好的存储过程.下面我们介绍下使用java调用Oracle的存储过程. ...

  8. JDBC调用存储过程的例子

    下面是我学到了Oracle存储过程,在这里跟大家简单的分享一下利用JDBC调用存储过程的例子: 废话就不啰嗦,现在就直接上机代码. 首先我利用的是Oracle中默认的 scott 数据库里的 emp员 ...

  9. java程序调用存储过程和存储函数

    java程序调用存储过程 jdbcUtil.java文件 package cn.itcast.oracle.utils; import java.sql.Connection; import java ...

随机推荐

  1. ELK(下)

    ELK架构图: 架构图一: 这是最简单的一种ELK架构方式.优点是搭建简单,易于上手.缺点是Logstash耗资源较大,运行占用CPU和内存高.另外没有消息队列缓存,存在数据丢失隐患. 此架构由Log ...

  2. SEO--网站流量提升

    话术设置,提炼优质的话术 关键词的挖掘 1.头脑风暴 (开晨会,一堆人坐在一起聊.) 2.利用搜索引擎相关搜索(将关键词设置为搜索热词,利用工具:百度指数,查看关键词) 3.工具 4.长尾关键词(词比 ...

  3. webpack1.0--图片

  4. unittest多线程生成报告-----BeautifulReport

    原文地址https://www.cnblogs.com/yoyoketang/p/8404204.html 前言 selenium多线程跑用例,这个前面一篇已经解决了,如何生成一个测试报告这个是难点, ...

  5. ida脚本学习

    #!/usr/bin/env python #coding:utf-8 from idc import * import idaapi import idautils import os os.sys ...

  6. 解决vmvare关闭过慢

    打开虚拟机文件夹下的.vmx文件,将下面的内容添天加进去,保存prefvmx.minVmMemPct = "100" mainMem.useNamedFile = "FA ...

  7. selenium键盘操作

    键盘操作需引用: from selenium.webdriver.common.keys import Keys 操作码表: NULL = '\ue000' CANCEL = '\ue001' # ^ ...

  8. 自定义Http请求头并且获取

    在一些开发需求中.我们需要把一些信息放到Http请求头中.比如我需要把签名信息 signature 放到Http请求头 所以就需要自定义请求头 signature ,用webClient发起请求 我这 ...

  9. SQL Server如何将Id相同的字段合并,并且以逗号隔开

    需要用到stuff函数: 例: id             name           1               张三           1               李四       ...

  10. mybatis3 前台传数组 的处理

    /** * 分页按条件查询权限列表 * @param keywords * @return */ @RequestMapping(value = "/getByCondition2" ...