使用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(); } } }
相关推荐
本教程将深入探讨如何使用JDBC实现对Oracle数据库的增、删、改、查操作。 首先,我们需要理解JDBC的基本组件和工作流程。JDBC提供了一组接口和类,使得Java应用程序能够连接到数据库,执行SQL语句并处理结果。核心...
本文将深入探讨如何使用JDBC调用Oracle数据库的存储过程来实现增删改查操作。 首先,理解JDBC是Java与各种数据库交互的桥梁,它提供了一组API,允许程序员执行SQL语句并处理结果。Oracle数据库则是一种广泛使用的...
Oracle PL/SQL是一种强大的编程语言,它将SQL与过程编程语言的特性相结合,为数据库开发提供了丰富的功能。在Oracle数据库环境中,PL/SQL是开发高效、可靠和可维护的数据库应用程序的关键工具。以下是对"Oracle PL/...
Java开发者可以通过JDBC(Java Database Connectivity)接口调用PL/SQL编写的存储过程,实现高效的数据处理和业务逻辑。 总的来说,PL/SQL 7.5开发工具是Oracle数据库开发人员的重要工具,尤其适合那些需要处理大量...
10. **数据库连接和调用接口**:PL/SQL可以与其他编程语言(如Java、C++)交互,通过Oracle Call Interface (OCI)或JDBC调用PL/SQL过程,实现跨平台的数据访问和处理。 通过《ORACLE PL/SQL程序设计第五版》,你将...
10. **与Java、C++等语言的接口**:Oracle提供API,如JDBC和ODBC,使得其他编程语言能够调用PL/SQL编写的存储过程和函数。 "PLSQLDevepler"可能是PL/SQL Developer的缩写,这是一个流行的PL/SQL集成开发环境(IDE)...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作能力和过程性编程语言的控制结构。在"Oracle PL/SQL"这本书中,作者深入浅出地探讨了这一语言的核心概念和实用技巧,尤其适合法语...
在与Java配合时,PL/SQL常用于处理数据的增删改查,或者提供服务供Java应用程序调用。 PL/SQL的特性包括: 1. **块结构**:PL/SQL程序由一个或多个块组成,每个块包含声明部分、执行部分和异常处理部分。 2. **数据...
本教程将详细讲解如何使用JDBC来创建和调用Oracle数据库中的触发器,以实现增(Insert)、删(Delete)、改(Update)和查(Select)操作。 首先,触发器是数据库中的一种特殊类型的存储过程,它在特定的数据库事件...
在实现增删改查时,我们需要创建Action类,定义对应的方法处理HTTP请求,并通过返回值控制视图的跳转。 2. **Spring**:Spring框架提供依赖注入(DI)和面向切面编程(AOP),使得组件间的耦合度降低。在SSH中,...
2. **调用PL/SQL from Java**:Java应用程序也可以通过JDBC调用PL/SQL包、过程和函数,充分利用PL/SQL的数据库操作优势。 3. **异常处理**:学习如何在Java和PL/SQL中统一处理异常,确保程序的健壮性和稳定性。 4....
例如,如果你在Java中调用Oracle的PL/SQL过程,你可以通过JDBC(Java Database Connectivity)接口来实现,如下所示: ```java CallableStatement cs = connection.prepareCall("{call procedure_name(?, ?)}"); cs....
- **复杂计算**:当业务逻辑复杂,需要高性能计算时,可以在Java中实现,然后通过PL/SQL调用。 - **界面与后台分离**:Java用于开发用户界面,PL/SQL处理后端数据库操作。 - **安全控制**:Java可以实现更复杂的...
PL/SQL是Oracle数据库中的编程语言,它扩展了SQL,允许开发人员编写存储过程、函数和触发器等。而ExcelDocumentType可能指的是一个特定的库或自定义类型,用于读取、写入或操作Microsoft Excel文件。 描述中提到的...
PL/SQL部分讲解了如何创建和管理数据库对象,如表、视图、索引,以及如何编写控制流程语句、处理异常、调用系统过程和函数。PL/SQL允许开发者编写复杂逻辑,将业务规则直接嵌入数据库,提高了应用程序的性能和安全性...
- **PL/SQL Developer**是一款专为Oracle数据库设计的强大集成开发环境(IDE),它提供了丰富的功能来帮助开发者高效地进行PL/SQL编程。 - 该版本(7.0)发布于2006年1月,旨在提升Oracle应用开发者的生产力。 ####...
例如,先在数据库中创建一个PL/SQL存储函数,然后通过JDBC调用这个存储函数。 在进行JAVA和PL/SQL互操作的过程中,需要注意以下几点: - 确保JAVA类在装载之前已经通过适当的方法编译,并且没有错误。 - 在装载...
1. **数据库访问**:Java通过JDBC(Java Database Connectivity)API与PL/SQL进行交互,实现对Oracle数据库的访问。JDBC提供了一套标准的接口,使得Java程序能够连接、查询和操作数据库。开发者可以编写存储过程、...
PL/SQL,全称Procedural Language/Structured Query Language,是Oracle数据库特有的一种混合了SQL与过程化编程的语言,用于在Oracle环境中编写存储过程、函数、触发器等数据库应用程序。 该书的核心内容可能包括...
在 Java 应用程序中,可以使用 JDBC 驱动来连接 Oracle 数据库,执行 SQL 查询并处理结果集。 ##### 示例 - **使用 Java 连接 Oracle 数据库并查询数据**: ```java String url = "jdbc:oracle:thin:@localhost:...