`

Oracle_12.1_Java开发2日通_2014.2(1)

 
阅读更多

Oracle12c支持JDK6和JDK7


oracle.jdbc,oracle.sql包


jdbc:oracle:thin:hr/hr@localhost:1521:oracle


默认一个Statement对象同时只能有一个ResultSet对象能被读取

因此要读取多个ResultSet要用多个Statement

ResultSet会被自动关闭,在那个Statement被关闭,被重新运行或多个结果集中查看下一个ResultSet时


SELECT * FROM Employees WHERE ID=xyz;//每次后面的字串改变时,都会重新编译一次Statement

// JDBC syntax
CallableStatement cs1 = conn.prepareCall
                        ( "{call proc (?,?)}" ) ; // stored proc
CallableStatement cs2 = conn.prepareCall
                        ( "{? = call func (?,?)}" ) ; // stored func
// Oracle PL/SQL block syntax
CallableStatement cs3 = conn.prepareCall
                        ( "begin proc (?,?); end;" ) ; // stored proc
CallableStatement cs4 = conn.prepareCall
                        ( "begin ? := func(?,?); end;" ) ; // stored func

 

create or replace function foo (val1 char)
return char as
begin
return val1 || 'suffix';
end;

 

CallableStatement cs = conn.prepareCall ("begin ? := foo(?); end;");
cs.registerOutParameter(1,Types.CHAR);
cs.setString(2, "aa");
cs.executeUpdate();
String result = cs.getString(1);

 

CREATE OR REPLACE PROCEDURE INSERT_EMPLOYEE (p_first_name  employees.first_
name%type, 
  p_last_name    employees.last_name%type,
  p_email        employees.email%type,
  p_phone_number employees.phone_number%type,
  p_job_id       employees.job_id%type,
  p_salary       employees.salary%type
) 
AS
BEGIN
  INSERT INTO Employees VALUES (EMPLOYEES_SEQ.nextval, p_first_name , 
    p_last_name , p_email , p_phone_number, SYSDATE, p_job_id, 
    p_salary,.30,100,80);
END insert_employee;

 

public String addEmployeeSP(String first_name, String last_name, 
  String email, String phone_number, String job_id,
  int salary) throws SQLException {
 
  try {
    getDBConnection(); 
    sqlString = "begin hr.insert_employee(?,?,?,?,?,?); end;";
    CallableStatement callstmt = conn.prepareCall(sqlString);
    callstmt.setString(1, first_name);
    callstmt.setString(2, last_name);
    callstmt.setString(3, email);
    callstmt.setString(4, phone_number);
    callstmt.setString(5, job_id);
    callstmt.setInt(6, salary);
    System.out.println("\nInserting with stored procedure: " + 
                       sqlString);
 
    callstmt.execute();
    return "success"; 
  }
  catch ( SQLException ex ) {
    System.out.println("Possible source of error: Make sure you have created the 
stored procedure"); 
    logException( ex ); 
    return "failure";
  }
}

 

 

 

分享到:
评论

相关推荐

    Navicat_12.1.0.2.0_Oracle_OCI.dll

    1. oraociei12.dll:Oracle Client Interface,是Oracle客户端的核心库,用于处理与Oracle服务器的通信。 2. orannzsbb12.dll:Oracle Native Network Serialization Basic Block Library,负责网络数据传输。 3. ...

    Navicat_Premium_12.1.13-Mac版

    Navicat Premium是一款强大的数据库管理工具,专为多种数据库系统设计,包括MySQL、MariaDB、Oracle、SQL Server、PostgreSQL等。在这个特定的版本“Navicat_Premium_12.1.13”中,它针对Mac操作系统进行了优化,...

    oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm

    这个特定的版本,“oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm”,是针对64位Linux系统的,版本号为12.1.0.2.0,它包含了一些基本的组件,以支持客户端应用程序连接到Oracle数据库服务器。 Oracle ...

    oracle_instantce_windows.x64-12.1.0.2.0.zip

    这个版本号12.1.0.2.0意味着这是Oracle Database 12c Release 1的第二个修正版,提供了对64位Windows操作系统的支持。 标签中的“instantclient-ba”可能指的是“Instant Client for Basic Applications”,即适用...

    weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB 类型转换解决办法

    2. **反射调用**:对于 `weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB` 类型的对象,使用 Java 反射机制调用 `getVendorObj()` 方法,该方法返回一个 `oracle.sql.CLOB` 类型的对象。 3. **CLOB 数据读取**:无论是...

    Oracle 客户端 x64 12.1.0.2.0

    Oracle客户端 64位 12.1.0.2.0,官网下载地址https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html

    64-bit Oracle ODBC Driver 12.1.0.2.0

    64-bit ODAC 12c Release 4 (12.1.0.2.4) for Windows x64 [Released October 5, 2015] Download ODAC121024_x64.zip - 287 MB (301,348,751 bytes) Download Includes 64-bit Oracle Data ...

    oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm

    oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm

    oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86-64.rpm

    oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm

    oracle-instantclient-12.2.0.1.0-1.x86_64 rpm包

    oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-basiclite-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-jdbc-...

    ojdbc6-12.1.0.2.jar

    ojdbc6-12.1.0.2.jar 是Oracle公司为Java应用程序提供的一种数据库连接驱动,用于与Oracle数据库进行交互。这个特定的版本(12.1.0.2)是Oracle JDBC驱动程序的一个重要版本,它包含了对Oracle数据库12c第一版的兼容...

    ojdbc7-12.1.0.2.jar

    ojdbc7-12.1.0.2.jar 是Oracle公司为Java开发者提供的一个数据库驱动包,主要用于连接Oracle数据库。这个版本的驱动适用于Java 7(JDBC 4.1)环境,它包含了Oracle JDBC Driver的所有功能,允许应用程序通过JDBC API...

    instantclient-windows.x64-12.1.0.2.0

    1、instantclient-basic-windows.x64-12.1.0.2.0.zip 2、instantclient-basiclite-windows.x64-12.1.0.2.0.zip 3、instantclient-odbc-windows.x64-12.1.0.2.0.zip 4、instantclient-sqlplus-windows.x64-12.1.0.2.0...

    ojdbc7-12.1.0.2-.zip

    1. `oracle.jdbc.driver.OracleDriver`:这是Oracle JDBC驱动的主要实现类,需要在程序中注册到Java的`java.sql.DriverManager`,以便通过`DriverManager.getConnection()`方法建立数据库连接。 2. `java.sql....

    ojdbc6 12.1.0.2.0.zip

    Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.getConnection(url, username, password); System.out.println("Connected to the database!"); // ... (其他数据库操作) ...

    ojdbc6-12.1.0.1.zip

    Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.getConnection( "jdbc:oracle:thin:@//hostname:port/service_name", "username", "password"); ``` 此外,了解Oracle的SQL...

    Oracle_instantclient-basic-x64-12.1.0.1.0

    总的来说,"Oracle_instantclient-basic-x64-12.1.0.1.0"是Oracle数据库开发和管理的一个不可或缺的工具,它简化了数据库连接过程,提供了高效的数据访问手段,同时,其轻量级的特性使得它在各种环境中都能灵活部署...

Global site tag (gtag.js) - Google Analytics