Oracle 저장 프로시저는 Java 기술을 사용하여 데이터베이스에 액세스하는 방법인 Java 프로그램을 통해 호출할 수 있습니다. 이 문서에서는 저장 프로시저를 Java와 결합하는 방법을 설명하고 관련 샘플 코드를 제공합니다.
1. JDBC를 사용하여 Oracle 데이터베이스에 액세스
JDBC(Java Database Connectivity)는 Oracle 데이터베이스를 포함한 다양한 데이터베이스에 연결하기 위한 표준 API입니다. JDBC를 사용하여 Oracle 데이터베이스에 액세스하기 전에 다음 단계를 수행해야 합니다.
1 Oracle 데이터베이스를 다운로드하고 설치합니다.
2. JDK(Java Development Kit)를 다운로드하고 설치합니다.
3. Oracle JDBC 드라이버를 다운로드하고 설치합니다.
Oracle JDBC 드라이버를 다운로드하는 방법에는 두 가지가 있습니다.
-Oracle 공식 웹사이트 다운로드: https://www.oracle.com/database/technologies/jdbc-drivers-12c-downloads.html
-Maven 종속성:
<dependency> <groupId>com.oracle.jdbc</groupId> <artifactId>ojdbc8</artifactId> <version>12.2.0.1</version> </dependency>
4. 데이터베이스 연결 정보를 구성합니다.
데이터베이스 연결 정보에는 일반적으로 다음이 포함됩니다.
-데이터베이스의 호스트 이름 또는 IP 주소.
-데이터베이스 포트.
- 데이터베이스의 이름입니다.
- 데이터베이스의 사용자 이름과 비밀번호.
데이터베이스 연결 정보는 다음과 같은 방법으로 구성할 수 있습니다.
String url = "jdbc:oracle:thin:@localhost:1521:orcl"; String user = "username"; String password = "password";
5. 데이터베이스에 연결합니다.
다음 코드를 사용하여 데이터베이스에 연결합니다.
Connection connection = DriverManager.getConnection(url, user, password);
그 중 DriverManager.getConnection
메소드는 URL, 사용자 이름 및 비밀번호라는 세 가지 매개변수를 허용합니다. DriverManager.getConnection
方法接受三个参数:URL,用户名和密码。
连接到数据库后,就可以使用 Java 程序来执行各种操作,如查询、插入、更新和删除。
二、Oracle 存储过程简介
存储过程是一种预先编译过的程序,能够执行一系列 SQL 语句以完成特定的任务。存储过程具有以下优点:
-提高了性能:存储过程是预先编译的,可以减少执行时间并提高性能。
-提高了安全性:存储过程可以确保权限仅限于授权用户。
-简化编程:存储过程可以封装一些通用的业务逻辑,减少代码重复。
三、Java 调用 Oracle 存储过程
在 Java 中调用存储过程的过程分为以下步骤:
1.创建 CallableStatement。
使用以下代码创建 CallableStatement:
CallableStatement cstmt = conn.prepareCall("{?= call procedure_name(?, ?, ...)}");
其中,conn
为数据库连接对象,procedure_name
为存储过程名称。
?=
表示返回值,?
表示输入参数。
2.为输入参数设置值。
使用以下代码为输入参数设置值:
cstmt.setString(2, "input_param");
其中,2
表示应该设置为第二个参数的值,"input_param"
是实际的输入参数值。
3.注册输出参数。
如果存储过程包括返回值或输出参数,则需要通过 registerOutParameter
方法进行注册。例如:
cstmt.registerOutParameter(1, Types.INTEGER);
其中,1
表示第一个参数是返回值,Types.INTEGER
表示返回值类型为整数。
4.执行存储过程。
执行存储过程的代码如下:
cstmt.execute();
5.获取返回值或输出参数。
如果存储过程包括返回值或输出参数,则可以使用以下代码获取结果:
int result = cstmt.getInt(1);
其中,1
try { Class.forName("oracle.jdbc.driver.OracleDriver"); // 加载 JDBC 驱动 Connection conn = DriverManager.getConnection(url, user, password); // 连接到数据库 CallableStatement cstmt = conn.prepareCall("{?= call procedure_name(?, ?)}"); // 创建 CallableStatement cstmt.registerOutParameter(1, Types.INTEGER); // 注册输出参数 cstmt.setString(2, "input_param1"); // 设置输入参数 cstmt.setString(3, "input_param2"); cstmt.execute(); // 执行存储过程 int result = cstmt.getInt(1); // 获取结果 conn.close(); // 关闭数据库连接 } catch (Exception e) { e.printStackTrace(); }🎜여기서
conn
은 데이터베이스 연결 개체이고 procedure_name
은 저장 프로시저 이름입니다. 🎜🎜?=
는 반환 값을 나타내고 ?
는 입력 매개 변수를 나타냅니다. 🎜🎜2. 입력 매개변수 값을 설정합니다. 🎜🎜다음 코드를 사용하여 입력 매개변수의 값을 설정합니다. 🎜rrreee🎜여기서 2
는 두 번째 매개변수로 설정해야 하는 값을 나타내고 "input_param"
는 실제 입력 매개변수 값입니다. 🎜🎜3. 출력 매개변수를 등록합니다. 🎜🎜저장 프로시저에 반환 값이나 출력 매개변수가 포함된 경우 registerOutParameter
메서드를 통해 등록해야 합니다. 예를 들면 다음과 같습니다. 🎜rrreee🎜 그 중 1
은 첫 번째 매개변수가 반환 값임을 의미하고, Types.INTEGER
는 반환 값 유형이 정수임을 의미합니다. 🎜🎜4. 저장 프로시저를 실행합니다. 🎜🎜저장 프로시저를 실행하는 코드는 다음과 같습니다. 🎜rrreee🎜5. 반환 값 또는 출력 매개 변수를 가져옵니다. 🎜🎜저장 프로시저에 반환 값이나 출력 매개 변수가 포함된 경우 다음 코드를 사용하여 결과를 얻을 수 있습니다. 🎜rrreee🎜여기서 1
은 첫 번째 매개 변수가 반환 값임을 의미합니다. 🎜🎜요약하면 Java에서 Oracle 저장 프로시저를 호출하는 샘플 코드는 다음과 같습니다. 🎜rrreee🎜위 코드는 Oracle 데이터베이스에 연결하고 CallableStatement를 생성하고 저장 프로시저를 실행하는 방법을 보여줍니다. 🎜🎜결론🎜🎜이 기사에서는 Java 프로그램을 사용하여 Oracle 데이터베이스에 액세스하고 저장 프로시저를 호출하는 방법을 소개합니다. 저장 프로시저를 사용하면 프로그래밍이 단순화되고 성능과 보안이 향상됩니다. Java 기술과 저장 프로시저를 결합하면 Oracle 데이터베이스에 보다 효율적으로 액세스하고 운영할 수 있습니다. 🎜위 내용은 oracle 저장 프로시저는 java를 호출합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!