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.所生成的机器代码被 ...
随机推荐
- linux启动流程及自定义gurb
linux 启动流程 POST BIOS(boot sequence) 所选择的启动设备次序的MBR中是否有引导程序, ----> MBR(bootloader) 提供内核列表 -------& ...
- 如何自定义ReportDesigner的向导界面(WIN)
https://www.devexpress.com/Support/Center/Example/Details/T140683
- RabbitMQ详解
本文地址:http://www.host900.com/index.php/articles/351/ 介绍RabbitMQ前,有必须先了解一下AMQP协议.AMQP协议是一个高级抽象层消息通信协议, ...
- 零配置文件搭建SpringMVC实践纪录
本篇记录使用纯java代码搭建SpringMVC工程的实践,只是一个demo.再开始之前先热身下,给出SpringMVC调用流程图,讲解的是一个http request请求到达SpringMVC框架后 ...
- iOS 调试问题汇总
// PBXcp error修复-No such file or directory (2013-05-02 15:20:50) 差不多算是Xcode比较常见的一个编译错误了,原因往往是添加或删除美术 ...
- 把excel导入的自定义时间改成yyyyMMdd
public static String changeCellToString(XSSFCell cell){ String result = "";// Object value ...
- centos 开机启动服务
一.启动脚本 /etc/rc.local 启动 最简单的一种方式,在启动脚本 /etc/rc.local (其实 /etc/rc.local 是/etc/rc.d/rc.local 的软链接文件,实际 ...
- MyISAM与InnoDB区别
两种类型最主要的差别就是Innodb 支持事务处理与外键和行级锁.而MyISAM不支持.所以MyISAM往往就容易被人认为只适合在小项目中使用. 我作为使用MySQL的用户角度出发,Innodb和My ...
- jquery写的ajax
1.jsp <%@ page language="java" import="java.util.*" pageEncoding="utf-8& ...
- mysql--sqlalchemy.exc.IntegrityError: (IntegrityError) (1215, 'Cannot add foreign key constraint'
今天在使用mysql时遇到的问题,最后发现问题是,数据类型与外键数据类型不同,改正过来就没有问题了.