JavaWeb-JDBC 여덟 다리 에세이, JSBC는 저장 프로 시저, 저장 함수를 사용하고 CLOB / BLOB 유형을 처리합니다.

1. JDBC 요약 (템플릿, 팔다리 에세이) :

try { a. 드라이버 패키지를 가져 와서 특정 드라이버 클래스를로드합니다. Class.forName ( "specific driver class"); b. 데이터베이스 연결 설정 = DriverManager.getConnection (...); c. 다음 객체를 가져옵니다. 연결을 통한 데이터베이스 운영 (Statement \ preparedStatement \ callablestatement)           stmt = connection.createStatement (); d. (Query) 처리 결과 집합 rs = pstmt.executeQuery () while (rs.next ()) {rs.getXxx (. .);} } catch (ClassNotFoundException e) {...} catch (SQLException e) {... } catch (Exception e) {... } finally {     // 여는 시퀀스가 ​​닫는 시퀀스와 반대입니다     if ( rs! = null) rs.close ()     if (stmt! = null) stmt.close ();     if (connection! = null) connection.close (); }




















--jdbc에서 Class.forName ()을 제외하고는 ClassNotFoundException이 발생하고 다른 모든 메서드는 SQLException이 발생합니다.


2. CallableStatement : 저장 프로 시저, 저장 함수 호출

connection.prepareCall(参数:存储过程或存储函数名)

매개 변수 형식 :
저장 프로 시저 (반환 값없이 반환, out 매개 변수로 대체) :
    {저장 프로 시저 이름 호출 (매개 변수 목록)}
저장 함수 (반환 값 반환 포함) :
    {? = 저장 함수 이름 호출 (매개 변수 목록)}

저장 프로 시저 :

create or replace procedure addTwoNum ( num1  in number,num2  in number,result out number )  -- 1 + 2 ->3
as
begin
    result := num1+num2 ;
end ;

강조 :
sqlplus를 통해 데이터베이스에 액세스하는 경우 다음을 열면됩니다.
다른 프로그램 (sqldevelop, navicate, JDBC)을 통해 데이터에 액세스하려면 OracleServiceSID 를 열면됩니다. OracleServiceSID, XxxListener

JDBC가 스토어드 프로 시저를 호출하는 단계 :

a. 저장 프로 시저 (CallableStatement)를 호출하는 객체 생성 cstmt = connection.prepareCall ( "...");
b. setXxx () cstmt.setInt (1, 30)를 통해 출력 매개 변수 값 처리
c. registerOutParameter를 통해 (...) Process output parameter type
d.cstmt.execute () execute
e. Accept output value (return value) getXxx ()


JDBC 호출 저장 기능 :

addTwoNumfunction (num1 in number, num2 in number)-1 + 2 
return number
as
    result number;    
begin
    result : = num1 + num2;
    return result;
end;
/
JDBC call a stored function : the 차이가 저장된 함수 호출 procedure :
호출 할 때 매개 변수에주의하십시오. "{? = call addTwoNumfunction (?,?)}"

3. CLOB / BLOB 유형 처리

약간 큰 데이터 처리 :
    
a. 저장 경로 E : \ JDK_API_zh_CN.CHM
    은 JDBC를 통해 파일 경로를 저장 한 다음 IO 작업에 따라 처리합니다.
    예 : JDBC는 E : \ JDK_API_zh_CN.CHM 파일을 문자열 "E : \ JDK_API_zh_CN.CHM "데이터베이스에서 가져
        오기 : 1."E : \ JDK_API_zh_CN.CHM "경로를 가져옵니다. 2.IO    

b.
    CLOB : 큰 텍스트 데이터 (소설-> 데이터)
    BLOB : 바이너리


clob : 대용량 텍스트 데이터 문자 스트림 Reader Writer
저장소
1. 먼저 pstmt?를 전달하여 새로운 내용 (자리 표시 자)을
바꿉니다. 2. 그런 다음 pstmt.setCharacterStream (2, reader, (int) file.length ()); 이전 단계? 새로운 스트림으로 교체합니다. 세 번째 매개 변수는 Int 유형이어야합니다.

Take :
1. Pass Reader reader = rs.getCharacterStream ( "NOVEL"); Reader 개체에 cloc 유형의 데이터를 저장합니다
. 2. Writer를 통해 Reader를 출력하기 만하면 됩니다.


blob : 이진 바이트 스트림 InputStream OutputStream
및 CLOB 단계는 기본적으로 동일합니다. 차이점은 다음과 같습니다. setBinaryStream (...) getBinaryStream (...)   

추천

출처blog.csdn.net/Qmilumilu/article/details/86479988