JDBC--调用函数&存错过程
1、通过Connection对象的prepareCall()方法创建CallableStatement对象的实例,在使用prepareCall()方法时需传入一个String类型的字符串,该字符串用于指明如何调用存储过程;
--{?= call function_name[(arg0, arg1, ... , argn)]}
--{call procedure_name[(arg0, arg1, ... , argn)]}
2、通过CallableStatement对象的registerOutParameter()方法注册OUT参数;
3、通过CallableStatement对象的setXxx()方法设定 IN 或 IN OUT 参数,若想将参数默认值设为null,可以使用setNull()方法;
4、通过CallableStatement对象的execute()方法执行存错过程;
5、若所调用的是带返回参数的存储过程,还需要通过CallableStatement对象的 getXxx() 方法获取其返回值.
public void testCallableStatement(){
Connection conn = null;
CallableStatement callableStatement = null;
try{
conn = JDBCUtils.getConnection();
String sql = "{?= call add_a_b(?, ?, ?)}";
callableStatement = conn.prepareCall(sql);
callableStatement.registerOutParameter(1, Types.NUMERIC);
callableStatement.registerOutParameter(4, Types.NUMERIC);
callableStatement.setInt(2, 23);
callableStatement.setInt(3, 56);
callableStatement.execute();
int ans = callableStatement.getInt(1);
System.out.println(ans);
ans = callableStatement.getInt(4);
System.out.println(ans);
}catch(Exception e){
e.printStackTrace();
}finally{
JDBCUtils.release(conn, callableStatement, null);
}
}
JDBC--调用函数&存错过程的更多相关文章
- 使用 JDBC 调用函数 & 存储过程
/** * 如何使用 JDBC 调用存储在数据库中的函数或存储过程 */ @Test public void testCallableStatment() { Connection connectio ...
- window.onload中调用函数报错的问题
今天练习js,忽然遇到了一个问题,就是window.onload加载完成后,调用其中的函数会报错, 上一段简单的代码: 报错信息: 报错原因: 当window.onload加载完成后,第一个alert ...
- mysql的函数与储存过程与pymysql的配合使用
现在mysql上定义一个函数,一个储存过程 函数: delimiter \\ CREATE FUNCTION f2 ( num2 INT, num1 INT ) RETURNS INT BEGIN D ...
- 使用jdbc调用存储,函数
public class JdbcTest { private Connection conn = null; private PreparedStatement pst = nu ...
- JDBC(13)—JDBC调用存储过程和函数
步骤: JDBC调用存储过程和函数 步骤: ①:通过Connection对象的prepareCall()方法创建一个CallableStatement对象的实例,在使用Connection对象的pre ...
- MYSQL 之 JDBC(十七): 调用函数&存储过程
1.通过Connection对象的prepareCall()方法创建一个CallableStatement对象的实例.在使用Connection对象的preparedCall()方法时,需要传入一个S ...
- jdbc调用存储过程和函数
1.调用存储过程 public class CallOracleProc { public static void main(String[] args) throws Exception{ Stri ...
- JDBC学习笔记(10)——调用函数&存储过程
如何使用JDBC调用存储在数据库中的函数或存储过程: * 1.通过COnnection对象的prepareCall()方法创建一个CallableStatement * 对象的实例,在使用Con ...
- 【转】JDBC学习笔记(10)——调用函数&存储过程
转自:http://www.cnblogs.com/ysw-go/ 如何使用JDBC调用存储在数据库中的函数或存储过程: * 1.通过COnnection对象的prepareCall()方法创建一个C ...
随机推荐
- Maven学习笔记:Maven简介
Maven的概念 Maven是基于项目对象模型(POM,Project Object Model),可以通过描述信息来管理项目的构建,报告和文档的软件管理工具 Maven除了以程序构建能力为特色之外, ...
- 给Linux安装中文的man手册
查找 yum list |grep man.*zh 安装 sudo yum install man-pages-zh-CN.noarch 配置 alias cman='man -M /usr//sha ...
- JavaSE复习~基本语法规则
java程序的基本结构 java程序的文件后缀为 .java 一个java文件中可以写许多内容,但有且只能有一个 public 修饰的 class 类(class)是Java程序中所有源代码的基本组成 ...
- Install fail! Error: EBUSY: resource busy or locked, symlink
前些日子从github上下载了一个项目 然后放在桌面上 ,但是运行的时候 报了Install fail! Error: EBUSY: resource busy or locked, symlink ...
- Mac夜神模拟器99%无法正常使用
PS:部分因更新OS X导致的卡99%可以尝试更新VBOX来解决此问题. 下载VBOX地址:https://www.virtualbox.org/wiki/Downloads 选择对应 ...
- JAVA 通过POI 模版,导出excel
如有不足,欢迎指正,谢谢 ! 1.Maven引入 POI jar包.模版和结果文件.rar下载 <dependency> <groupId>org.apache.poi< ...
- 谈一谈并查集QAQ(上)
最近几日理了理学过的很多oi知识...发现不知不觉就有很多的知识忘记了... 在聊聊并查集的时候顺便当作巩固吧.... 什么是并查集呢? ( Union Find Set ) 是一种用于处理分离集合的 ...
- JavaScript - Promise对象
优点: 在异步执行的流程中,把执行代码和处理结果的代码清晰地分离(因为Promise对象有链式写法,有then和catch) 组合使用Promise,就可以把很多异步任务以并行和串行的方式组合起来执行 ...
- LoadRunner的Capture Level
场景:录制loadrunner的web站点 问题:录制的过程中发现除了页面正常的请求外还有些看不懂的请求(包含乱码),脚本如下: web_url("WebTours", " ...
- Java 8 有哪些新特性
一.支持 lambda 表达式 例如:查询学生信息,并打印 List<Student> studentList = Student.findAllStudent(); for(Studen ...