`

PL/SQL编程—Java中使用JDBC调用过程实现对数据库表的增删改查

阅读更多

使用JDBC调用过程实现对数据库表的增删改查大致可分为如下几个步骤:

1.获得连接子对象

创建连接字对象如下:

// 第一步:从oracle.jdbc.driver中装载驱动OracleDriver
Class.forName("oracle.jdbc.driver.OracleDriver");

 

// 第二步:定义连接字符串jdbc:oracle:thin:@***.***.***.***:数据库实例端口:数据库实例名
String url_Str = "jdbc:oracle:thin:@172.19.214.123:1521:ORCL";

 

// 第三步:DriverManager.getConnention()获得数据库Connection连接对象
Connection conn = DriverManager.getConnection(url_Str, "scott","scott");

 

 创建连接字对象的类:

package sj.JDBC_v02;

import java.sql.Connection;
import java.sql.DriverManager;

/**
 * 创建连接字对象
 * @author Songjie_xuan
 *
 */
public class Connection_JDBC {

	public static Connection get_Connection() {
		
		try {

			// 第一步:装载驱动
			Class.forName("oracle.jdbc.driver.OracleDriver");

			// 第二步:定义连接字符串
			String url_Str = "jdbc:oracle:thin:@172.19.214.123:1521:ORCL";

			// 第三步:DriverManager.getConnention()获得数据库Connection连接对象
			Connection conn = DriverManager.getConnection(url_Str, "scott",
					"scott");
			
			return conn;
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return null;
	}
}

 类调用静态方法获得Connention连接字对象: Connection_JDBC.get_Connection();

 

2.定义调用SQL语句的字符串:{call pro_addData(?,?,?)}

首先,在PL/SQL中定义过程,语法如下:

 create or replace procedure Procedure_NAME() is
begin
  功能语句

end;

示例如下:

create or replace procedure pro_addData(v_userid varchar2, v_username varchar2,v_usersex varchar2) is
begin
  insert into new_tab values(v_userid,v_username,v_usersex);
end;

 将此过程创建:



语法是:

{过程执行语句}

过程执行语句中,过程往往有参数,在Java中使用?代替,有几个参数就用几个?

 

3.然后调用prepareCall()方法获得PL/SQL执行语句的编译对象:

conn.prepareCall("{call pro_addData(?,?,?)}");

// 3.获得编译对象
			CallableStatement c_sta = conn.prepareCall(sql_ExeSta);

 

4.通过编译对象给过程执行语句中的?赋值:

// 4.给?号赋值
c_sta.setString(1, num);
c_sta.setString(2, name);
c_sta.setString(3, sex);

 

5.最后是调用execute()方法执行,执行完成要调用close()方法关闭

 

 

完整实例如下:

package sj.JDBC_v02;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.util.Date;
import java.util.Scanner;

/**
 * Java中使用JDBC调用过程实现对标的增删改查实例
 * 
 * @author Songjie_xuan
 * 
 */
public class Calling_Process {

	public static void main(String[] args) {

		@SuppressWarnings("resource")
		Scanner scan = new Scanner(System.in);
		String str = scan.next();
		if (str.equals("add"))
			add_Data("20120000", "杨亦风", "男");
		else if (str.equals("select"))
			sel_Data(7788);
	}

	/**
	 * 添加数据到new_tab表
	 * 
	 * @param num
	 *            =>
	 * @param name
	 *            =>
	 * @param sex
	 *            =>
	 */
	public static void add_Data(String num, String name, String sex) {

		try {
			// 1.获得连接对象
			Connection conn = Connection_JDBC.get_Connection();

			// 2.定义调用过程的sql执行语句
			String sql_ExeSta = "{call pro_addData(?,?,?)}";

			// 3.获得编译对象
			CallableStatement c_sta = conn.prepareCall(sql_ExeSta);

			// 4.给?号赋值
			c_sta.setString(1, num);
			c_sta.setString(2, name);
			c_sta.setString(3, sex);

			// 执行
			c_sta.execute();
			c_sta.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * 查询emp表中指定编号的员工姓名和工资
	 * 
	 * @param num
	 *            =>指定的编号
	 */
	public static void sel_Data(int num) {

		try {

			Connection conn = Connection_JDBC.get_Connection();

			String sql_ExeSta = "{call pro_Select(?,?,?,?)}";

			CallableStatement c_sta = conn.prepareCall(sql_ExeSta);

			c_sta.setInt(1, num);
			
			c_sta.registerOutParameter(2, java.sql.Types.VARCHAR);
			c_sta.registerOutParameter(3, java.sql.Types.DOUBLE);
			c_sta.registerOutParameter(4, java.sql.Types.DATE);

			// 执行
			c_sta.execute();
			
			// 取值
			String ename = (String)c_sta.getObject(2);
			double sal = (double)c_sta.getObject(3);
			Date date = (Date)c_sta.getObject(4);
			
			System.out.println("姓名:" +ename+"/n"+"工资:"+sal+"入职时间:"+date);

			c_sta.close();
		} catch (Exception e) {
			e.printStackTrace();
		}

	}
}

 

  • 大小: 10.4 KB
0
0
分享到:
评论

相关推荐

    JDBC实现Oracle数据库的增删改查

    本教程将深入探讨如何使用JDBC实现对Oracle数据库的增、删、改、查操作。 首先,我们需要理解JDBC的基本组件和工作流程。JDBC提供了一组接口和类,使得Java应用程序能够连接到数据库,执行SQL语句并处理结果。核心...

    jdbc调用存储过程实现增删改查

    本文将深入探讨如何使用JDBC调用Oracle数据库的存储过程来实现增删改查操作。 首先,理解JDBC是Java与各种数据库交互的桥梁,它提供了一组API,允许程序员执行SQL语句并处理结果。Oracle数据库则是一种广泛使用的...

    Oracle PL/SQL学习官方教材

    Oracle PL/SQL是一种强大的编程语言,它将SQL与过程编程语言的特性相结合,为数据库开发提供了丰富的功能。在Oracle数据库环境中,PL/SQL是开发高效、可靠和可维护的数据库应用程序的关键工具。以下是对"Oracle PL/...

    PL/SQL7.5开发工具

    Java开发者可以通过JDBC(Java Database Connectivity)接口调用PL/SQL编写的存储过程,实现高效的数据处理和业务逻辑。 总的来说,PL/SQL 7.5开发工具是Oracle数据库开发人员的重要工具,尤其适合那些需要处理大量...

    ORALCE PL/SQL程序设计第五版

    10. **数据库连接和调用接口**:PL/SQL可以与其他编程语言(如Java、C++)交互,通过Oracle Call Interface (OCI)或JDBC调用PL/SQL过程,实现跨平台的数据访问和处理。 通过《ORACLE PL/SQL程序设计第五版》,你将...

    PL/SQL免安装版

    10. **与Java、C++等语言的接口**:Oracle提供API,如JDBC和ODBC,使得其他编程语言能够调用PL/SQL编写的存储过程和函数。 "PLSQLDevepler"可能是PL/SQL Developer的缩写,这是一个流行的PL/SQL集成开发环境(IDE)...

    oracle_oracle_oraclepl/sql_

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作能力和过程性编程语言的控制结构。在"Oracle PL/SQL"这本书中,作者深入浅出地探讨了这一语言的核心概念和实用技巧,尤其适合法语...

    PL_SQL Project.zip_exampleh93_pl/sql中的project_zip

    在与Java配合时,PL/SQL常用于处理数据的增删改查,或者提供服务供Java应用程序调用。 PL/SQL的特性包括: 1. **块结构**:PL/SQL程序由一个或多个块组成,每个块包含声明部分、执行部分和异常处理部分。 2. **数据...

    使用jdbc创建和调用触发器实现增删改查

    本教程将详细讲解如何使用JDBC来创建和调用Oracle数据库中的触发器,以实现增(Insert)、删(Delete)、改(Update)和查(Select)操作。 首先,触发器是数据库中的一种特殊类型的存储过程,它在特定的数据库事件...

    SSH框架实现增删改查,Oracle数据库

    在实现增删改查时,我们需要创建Action类,定义对应的方法处理HTTP请求,并通过返回值控制视图的跳转。 2. **Spring**:Spring框架提供依赖注入(DI)和面向切面编程(AOP),使得组件间的耦合度降低。在SSH中,...

    Oracle 9i Java程序设计—使用PL_SQL和Java的解决方案

    2. **调用PL/SQL from Java**:Java应用程序也可以通过JDBC调用PL/SQL包、过程和函数,充分利用PL/SQL的数据库操作优势。 3. **异常处理**:学习如何在Java和PL/SQL中统一处理异常,确保程序的健壮性和稳定性。 4....

    11oracle的PL-SQL编程-块.过程 PPT

    例如,如果你在Java中调用Oracle的PL/SQL过程,你可以通过JDBC(Java Database Connectivity)接口来实现,如下所示: ```java CallableStatement cs = connection.prepareCall("{call procedure_name(?, ?)}"); cs....

    oracle.9i.java程序设计使用pl_sql和java的解决方法

    - **复杂计算**:当业务逻辑复杂,需要高性能计算时,可以在Java中实现,然后通过PL/SQL调用。 - **界面与后台分离**:Java用于开发用户界面,PL/SQL处理后端数据库操作。 - **安全控制**:Java可以实现更复杂的...

    PL/SQL ExcelDocumentType

    PL/SQL是Oracle数据库中的编程语言,它扩展了SQL,允许开发人员编写存储过程、函数和触发器等。而ExcelDocumentType可能指的是一个特定的库或自定义类型,用于读取、写入或操作Microsoft Excel文件。 描述中提到的...

    oracle 8i pl/sql秘籍

    PL/SQL部分讲解了如何创建和管理数据库对象,如表、视图、索引,以及如何编写控制流程语句、处理异常、调用系统过程和函数。PL/SQL允许开发者编写复杂逻辑,将业务规则直接嵌入数据库,提高了应用程序的性能和安全性...

    PL/SQL Developer 中文帮助文档

    - **PL/SQL Developer**是一款专为Oracle数据库设计的强大集成开发环境(IDE),它提供了丰富的功能来帮助开发者高效地进行PL/SQL编程。 - 该版本(7.0)发布于2006年1月,旨在提升Oracle应用开发者的生产力。 ####...

    Oracle9i中JAVA和PL_SQL的互操作方法.pdf

    例如,先在数据库中创建一个PL/SQL存储函数,然后通过JDBC调用这个存储函数。 在进行JAVA和PL/SQL互操作的过程中,需要注意以下几点: - 确保JAVA类在装载之前已经通过适当的方法编译,并且没有错误。 - 在装载...

    基于PL_SQL和JAVA互操作的新型MIS研究.pdf

    1. **数据库访问**:Java通过JDBC(Java Database Connectivity)API与PL/SQL进行交互,实现对Oracle数据库的访问。JDBC提供了一套标准的接口,使得Java程序能够连接、查询和操作数据库。开发者可以编写存储过程、...

    《Oracle PL/SQL 实例精解》说明

    PL/SQL,全称Procedural Language/Structured Query Language,是Oracle数据库特有的一种混合了SQL与过程化编程的语言,用于在Oracle环境中编写存储过程、函数、触发器等数据库应用程序。 该书的核心内容可能包括...

    oracle Pl/sql编程经典入门

    在 Java 应用程序中,可以使用 JDBC 驱动来连接 Oracle 数据库,执行 SQL 查询并处理结果集。 ##### 示例 - **使用 Java 连接 Oracle 数据库并查询数据**: ```java String url = "jdbc:oracle:thin:@localhost:...

Global site tag (gtag.js) - Google Analytics