>  기사  >  데이터 베이스  >  oracle 저장 프로시저는 java를 호출합니다.

oracle 저장 프로시저는 java를 호출합니다.

王林
王林원래의
2023-05-07 19:43:39942검색

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

데이터베이스에 연결되면 Java 프로그램을 사용하여 쿼리, 삽입, 업데이트 및 삭제와 같은 다양한 작업을 수행할 수 있습니다.

2. Oracle 저장 프로시저 소개

저장 프로시저는 일련의 SQL 문을 실행하여 특정 작업을 완료할 수 있는 미리 컴파일된 프로그램입니다. 저장 프로시저에는 다음과 같은 장점이 있습니다.

- 성능 향상: 저장 프로시저는 사전 컴파일되어 실행 시간을 줄이고 성능을 향상시킵니다.

- 향상된 보안: 저장 프로시저는 승인된 사용자에게 권한이 제한되도록 보장합니다. 🎜🎜-프로그래밍 단순화: 저장 프로시저는 몇 가지 일반적인 비즈니스 논리를 캡슐화하고 코드 중복을 줄일 수 있습니다. 🎜🎜3. Java는 Oracle 저장 프로시저를 호출합니다.🎜🎜Java에서 저장 프로시저를 호출하는 프로세스는 다음 단계로 구분됩니다.🎜🎜1. 🎜🎜다음 코드를 사용하여 CallableStatement를 만듭니다. 🎜
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.