Oracle快速入门(Java JDBC链接数据库)

   日期:2020-09-20     浏览:102    评论:0    
核心提示:一、JDBC的开发步骤在Oracle数据库当中创建一个函数查询指定员工的年薪–使用存储过程来实现(传入参数,第二个参数将值存储到参数当中)参数:是员工编号输出:年薪create or replace procedure proc_gettotalsal(vempno in number,vtotalsal out number)isbegin select sal*12 + nvl(comm,0) into vtotalsal from emp where empno = vempno

一、JDBC的开发步骤

在Oracle数据库当中创建一个函数

查询指定员工的年薪–使用存储过程来实现(传入参数,第二个参数将值存储到参数当中)
参数:是员工编号
输出:年薪

create or replace procedure proc_gettotalsal(vempno in number,vtotalsal out number)
is
begin
	select sal*12 + nvl(comm,0) into vtotalsal from emp where empno = vempno;
end;

二、在Eclipse当中使用JDBC连接Oracle,通过自定义函数查询内容

1、创建一个项目工程

2、创建一个libs文件将对应的jar引入到其中


3、创建包和类

4、通过JDBC连接Oracle数据库以及

package com.itzheng.test;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import org.junit.Test;
import oracle.jdbc.driver.OracleTypes;
import oracle.jdbc.oracore.OracleType;


public class TestProcedure { 
	@Test
	public void test1() throws Exception { 		
		//注册驱动
		Class.forName("oracle.jdbc.driver.OracleDriver");
		//2、获取连接 
		//(1)设置对应的参数
		String url = "jdbc:oracle:thin:@192.168.75.100:1521:orcl";		
		String username = "scott";		
		String password = "tiger";
		//(2)获取连接
		Connection conn = DriverManager.getConnection(url, username, password);		
		//prepareCall在执行存储过程之前,必须注册所有OUT参数的类型,他们的值是在执行后通过此类提供的get方法获取的。
		//3、获取执行SQL的statement 
		//这几SQL语句的作用就是调用Oracle当中自定义的函数,一个人为输入参数,第二个为输出参数
		String sql = "{call proc_gettotalsal(?,?)}";		
		CallableStatement state = conn.prepareCall(sql);//通过链接获取对应的statement 
		//向SQL当中的?设置对应的值 ---设置输入参数
		state.setInt(1, 7788);//第一个索引 
		//注册输出参数将查询到的值放入到OracleTypes,并或 去对应的数字类型
		state.registerOutParameter(2, OracleTypes.NUMBER);//第二个位Oracle执行函数返回的结果
		//4、执行statement
		state.execute();		
		//5、获取执行结果 
		int tatalsal = state.getInt(2);
		//输出结果
		System.out.println("工资:"+tatalsal);
		//6、释放资源
		state.close();
		conn.close();
	}
}

三、JDBC调用存储函数

@Test
public void test2() throws Exception { 
	// 注册驱动
	Class.forName("oracle.jdbc.driver.OracleDriver");
	// 2、获取连接
	// (1)设置对应的参数
	String url = "jdbc:oracle:thin:@192.168.75.100:1521:orcl";
	String username = "scott";
	String password = "tiger";
	// (2)获取连接
	Connection conn = DriverManager.getConnection(url, username, password);
	// prepareCall在执行存储过程之前,必须注册所有OUT参数的类型,他们的值是在执行后通过此类提供的get方法获取的。
	// 3、获取执行SQL的statement
	String sql = "{?=call func_getsal(?)}";
	CallableStatement state = conn.prepareCall(sql);
	//4、封装参数
	//注册返回值类型参数
	state.registerOutParameter(1, OracleTypes.NUMBER);//将返回值存储到OracleTypes
	//设置第二个参数
	state.setInt(2, 7788);
	//5、执行SQL
	state.execute();
	//6、获取结果
	int int1 = state.getInt(1);//获取对应的值
	System.out.println("年薪"+int1);
	//7、释放资源
	state.close();
	conn.close();
}

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服