jdbc调用存储过程和函数
1.调用存储过程
public class CallOracleProc {
public static void main(String[] args) throws Exception{
String sql = "{call get_rax(?,?)}";
Connection conn = JdbcUtil.getConnection();
CallableStatement cstmt = conn.prepareCall(sql);
//为第一个?号设置值,从1开始
cstmt.setInt(1,7000);
//为第二个?注册输出类型
cstmt.registerOutParameter(2,Types.INTEGER);
//执行调用过程
cstmt.execute();
//接收过程的返回值,即第二个?号
int rax = cstmt.getInt(2);
//显示
System.out.println("7000元需要上交"+rax+"元税收");
cstmt.close();
conn.close();
}
}
2.调用函数
public class CallOracleFunc {
public static void main(String[] args) throws Exception{
String sql = "{ ? = call findEmpNameAndJobAndSal(?,?,?) }";
Connection conn = JdbcUtil.getConnection();
CallableStatement cstmt = conn.prepareCall(sql);
//为第一个?注册输出类型
cstmt.registerOutParameter(1,Types.VARCHAR);
//为第二个?注入值
cstmt.setInt(2,7788);
//为第三个?注册输出类型
cstmt.registerOutParameter(3,Types.VARCHAR);
//为第四个?注册输出类型
cstmt.registerOutParameter(4,Types.INTEGER);
//执行函数调用
cstmt.execute();
//分别获取1,3,4占位符的值
String ename = cstmt.getString(1);
String job = cstmt.getString(3);
int sal = cstmt.getInt(4);
//显示
System.out.println("7788--"+ename+"--"+job+"--"+sal);
cstmt.close();
conn.close();
}
}
jdbc调用存储过程和函数的更多相关文章
- JDBC(13)—JDBC调用存储过程和函数
步骤: JDBC调用存储过程和函数 步骤: ①:通过Connection对象的prepareCall()方法创建一个CallableStatement对象的实例,在使用Connection对象的pre ...
- JDBC第二篇--【PreparedStatment、批处理、处理二进制、自动主键、调用存储过程、函数】
这是我JDBC的第一篇 http://blog.csdn.net/hon_3y/article/details/53535798 1.PreparedStatement对象 PreparedState ...
- JDBC【PreparedStatment、批处理、处理二进制、自动主键、调用存储过程、函数】
1.PreparedStatement对象 PreparedStatement对象继承Statement对象,它比Statement对象更强大,使用起来更简单 Statement对象编译SQL语句时, ...
- Java数据库连接——JDBC调用存储过程,事务管理和高级应用
一.JDBC常用的API深入详解及存储过程的调用 相关链接:Jdbc调用存储过程 1.存储过程(Stored Procedure)的介绍 我们常用的操作数据库语言SQL语句在执行的时候需要先编译,然后 ...
- Java数据库连接--JDBC调用存储过程,事务管理和高级应用
相关链接:Jdbc调用存储过程 一.JDBC常用的API深入详解及存储过程的调用 1.存储过程的介绍 我们常用的操作数据库语言SQL语句在执行的时候要先进行编译,然后执行,而存储过程是在大型数据库系统 ...
- Java JDBC调用存储过程:无参、输入带参、输出及输出带参
Java JDBC调用存储过程:无参.输入带参.输出及输出带参 示例代码: package xzg; import java.sql.CallableStatement; import java.sq ...
- jdbc调用存储过程的方法
----------------------------jdbc调用存储过程的方法---------------------------------------------------private ...
- 转:EF调用存储过程、函数
EF调用存储过程.函数 2014-04-02 09:12:20| 分类: ORM框架|举报|字号 订阅 一.ef4.1 codeFirst 修改表结构 增加字段等 EF code ...
- JDBC调用存储过程
一. JDBC调用存储过程 (1)使用存储过程SQL编写的程序代码,等一段语句和控制流语句.在创建时被编译成机器代码和存储在数据库中的client转让. 存储过程具有以下优势: 1.所生成的机器代码被 ...
随机推荐
- 链表的C语言实现
#ifndef _CONST_H_#define _CONST_H_ #include <stdio.h>#include <stdlib.h> typedef enum { ...
- 换个新的思路 代替解压jar包 例证:wechat4j 框架中的templateMsg类
很多朋友在写java的程序的时候都喜欢用第三方的jar包和框架,有可能遇到jar包中的内容已经跟不上官方开发者文档的更新,导致部分内容出错了,这个时候可能就要放弃这个jar的使用,但是这个jar中的其 ...
- C#知识点总结系列:4、C#中Monitor和Lock以及区别
Monitor对象 1.Monitor.Enter(object)方法是获取锁,Monitor.Exit(object)方法是释放锁,这就是Monitor最常用的两个方法,当然在使用过程中为了避免获取 ...
- Linux C++线程池
.为什么需要线程池? 部分应用程序需要执行很多细小的任务,对于每个任务都创建一个线程来完成,任务完成后销毁线程,而这就会产生一个问题:当执行的任务所需要的时间T1小于等于创建线程时间T2和销毁线程时间 ...
- 实现table的单线边框的办法
实现table的单线边框的办法 现在给出效果图: 1.实现方法一: <table border="0" cellspacing="1" style= ...
- (十二)select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型:int select(int maxfd,fd_set *rdset ...
- 写日志 log 到文件夹
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- TAP/TUN摘要
TUN适用于IP帧.Tap适用于以太网帧.TAP摸拟一个以太网设备(以arp广播MAC识别),它操作第二层数据包如以太网数据帧.TUN模拟了网络层ip设备(以点对点的方式,使用ip标识),操作第三层数 ...
- Ajax些成绩批量录入
1.jsp,ajax的循环调用,必须要递归,否则会出错. <%@ page language="java" import="java.util.*" pa ...
- flask+html selected 根据后台数据设定默认值
先给代码 <script> $("#selector_political_status").val('{{ archive.political_status }}'); ...