使用下面的Java类TestStoreProcedure.java测试存储过程。
package test;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import oracle.jdbc.OracleTypes;
/**
* This class is used to test Oracle store procedure
* @author CarlWu
*
*/
public class TestStoreProcedure{
/**
* 测试主方法
* @param args
*/
public static void main(String[] args) {
Connection con=null;
try {
//获得数据库连接
java.lang.Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection("jdbc:oracle:thin:scott/tiger@localhost:1521:LEGDB");
//测试存储过程
TestStoreProcedure sp=new TestStoreProcedure();
sp.execute(con,"carl_sp_test","carl");
} catch (ClassNotFoundException cnfe) {
cnfe.printStackTrace();
} catch (SQLException sqlE) {
sqlE.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally {
if (con != null) {
try {
con.close();
} catch (Exception e) {
}
}
}
}
/**
* 该方法用来调用Oracle存储过程
* @param con 数据库连接
* @param parameter传入存储过程的参数值
* @throws SQLException SQL 异常
*/
public void execute(Connection con,String sp_name, String parameter) throws SQLException{
//调用存储过程
CallableStatement callStat=con.prepareCall("{call "+sp_name+"(?,?,?)}");
//最后一次插入的行数
int last_inserted_rows=0;
//总影响行数
int all_effected_rows=0;
//设置输入参数值
callStat.setString(1, parameter);
//注册存储过程的第二、第三个参数类型
callStat.registerOutParameter(2, OracleTypes.NUMBER);
callStat.registerOutParameter(3, OracleTypes.NUMBER);
//执行存储过程
callStat.execute();
//从存储过程执行结果中获得第二、第三个参数值
last_inserted_rows=callStat.getInt(2);
all_effected_rows=callStat.getInt(3);
//关闭CallableStatement,释放资源
callStat.close();
//在控制台中打印结果
System.out.println("最后一次插入条数:"+last_inserted_rows);
System.out.println("总影响行数:"+all_effected_rows);
}
}
分享到:
相关推荐
5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip...
- **Java heap space**: 堆是JVM管理的一部分内存,用于存储对象实例和数组。当堆内存无法满足新对象的分配需求时,就会抛出此异常。 **描述:“搜集整理关于java错误处理:java.lang.OutOfMemoryError: Java heap ...
MySQL Connector/J是MySQL数据库与Java应用程序之间的桥梁,它是一个实现了JDBC(Java Database Connectivity)标准的MySQL驱动程序。"mysql-connector-java-5.1.40.tar.gz" 是这个驱动程序的一个特定版本,版本号为...
总之,"selenium-java-2.47.1.zip" 是一个用于自动化网页测试的重要工具,包含了一系列的Java库和资源,可以帮助你构建高效、可靠的Web应用测试框架。无论是初学者还是经验丰富的测试工程师,都能从中受益。
总的来说,"Selenium-Java-3.141.59"是一个强大且可靠的自动化测试工具,它简化了Web应用的测试过程,提高了测试效率,尤其适合Java开发团队进行持续集成和自动化测试。通过不断学习和实践,你将能够充分利用其功能...
在开发Java应用程序的过程中,经常会遇到与JDK版本不兼容的问题,其中一种常见的异常就是`java.lang.UnsupportedClassVersionError`。该错误通常发生在试图用一个较低版本的JDK加载由较高版本JDK编译的类文件时。...
Java存储过程是Java编程语言与数据库交互的一种技术,主要用于执行在数据库中预编译的SQL语句和数据库特定的函数。在Java项目中,存储过程的使用可以提高应用程序的性能,减少网络传输,同时也可以增强安全性,因为...
使用C3P0额外依赖的一个jar包 :mchange-commons-java-0.2.3.4.jar
9. **配置**:在Java应用中,通常将驱动类路径(classpath)设置为包含`mysql-connector-java-5.1.27.jar`,或者在Maven或Gradle等构建工具中添加依赖。 10. **异常处理**:在处理数据库操作时,必须捕获并适当地...
InvokeTest.java文件则是一个测试类,用于验证InvokeHelper中的接口调用是否正常工作。在Java开发中,测试是非常重要的一个环节,它可以确保代码的正确性和稳定性。InvokeTest通常会模拟实际的业务场景,调用...
要使用MySQL Connector/J 5.1.25,开发者需要在Java项目中添加`mysql-connector-java-5.1.25.jar`到类路径中,然后可以通过JDBC API建立与MySQL服务器的连接,例如: ```java import java.sql.Connection; import ...
java.sql 提供使用 JavaTM 编程语言访问并处理存储在数据源(通常是一个关系数据库)中的数据的 API。 java.text 提供以与自然语言无关的方式来处理文本、日期、数字和消息的类和接口。 java.text.spi java.text ...
JAVA API官方文档中文版软件包 java.applet java.awt java.awt.color java.awt.datatransfer java.awt.dnd java.awt.event java.awt.font java.awt.geom java.awt.im java.awt.im.spi java.awt.image ...
mysql-connector-java-8.0.11.jar连接器,用于在hive和mysql的数据库连接
JAVA连MySQL驱动mysql-connector-java-5.1.25.jar
[工具类] 测试Mysql的最大连接数 .java.txt [工具类] 读取、打印输出、保存xml .java.txt [工具类] 分页split_page.jsp .jsp.txt [工具类] 获得汉字拼音首字母的java工具类.java.txt [工具类] 获取绝对路径 .java....
在Java应用程序中,可以通过Java Database Connectivity (JDBC) API来调用MySQL的存储过程。 首先,确保你已经安装了MySQL数据库,并且在数据库中创建了一个或多个存储过程。例如,`findAllBook`、`pro_test`和`pro...
MySQL-connector-java-8.0.28 是MySQL数据库与Java应用程序之间通信的重要组件,它是一个JDBC(Java Database Connectivity)驱动程序,使得Java开发者能够通过编写Java代码来访问和操作MySQL数据库。在这个版本中,...
此外,JDK还包括了`jar`工具用于创建和管理Java归档文件,`javadoc`用于生成API文档,以及`jshell`(也称为REPL,Read-Eval-Print Loop)用于快速测试和学习Java语法。 总的来说,Java JDK 11.0.8是Java开发者不可...
有时候装Java jdk的时候将jre与jdk的路径选择一致的时候,后出现覆盖,少这两个包,网上大多太旧且要积分,真扯蛋,这些人