- JDBC概要(テンプレート、八股文):
try{
a.导入驱动包、加载具体驱动类Class.forName("具体驱动类");
b.与数据库建立连接connection = DriverManager.getConnection(...);
c.通过connection,获取操作数据库的对象(Statement\preparedStatement\callablestatement)
stmt = connection.createStatement();
d.(查询)处理结果集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がスロー
- CallableStatementの:ストアドプロシージャを呼び出し、記憶する機能
Connection.prepareCallを(パラメータ:ストアドプロシージャまたは関数名が格納されている)
パラメータ形式:
(パラメータを代わりに使用うちノーリターン戻り値)ストアドプロシージャ:
{コールストアドプロシージャ名(パラメータリスト)}
保存された機能(戻り値を返す):
{=コール記憶機能名(パラメータリスト)}?
create or replace procedure addTwoNum ( num1 in number,num2 in number,result out number ) -- 1 + 2 ->3
as
begin
result := num1+num2 ;
end ;
/
OracleServiceSIDを:あなただけのオープンに必要sqlplusを介してデータベースにアクセスする場合は
、オープンにアクセスデータ(sqldevelop、navicate、JDBC)、必要に他のプログラムによって:OracleServiceSIDを、XxxListener
JDBCは、ストアドプロシージャのステップを呼び出します。
- オブジェクト(のCallableStatement)発生コール= connection.prepareCall cstmtストアドプロシージャ( "...")。
- setXXX()プロセス出力パラメータはcstmt.setInt値(1、30)。
- (...)のregisterOutParameterによって、出力パラメータの型を処理し
- cstmt.execute()の実行
- 出力値(戻り値)のgetXXX()を受信
チューニングストレージ機能:
create or replace function addTwoNumfunction ( num1 in number,num2 in number) -- 1 + 2
return number
as
result number ;
begin
result := num1+num2 ;
return result ;
end ;
/
JDBCは、格納された関数を呼び出す:ストアドプロシージャの間の差を調整する
注目パラメータを呼び出すとき:「{=コールaddTwoNumfunction(? 、?)}」
- CLOB / BLOB型処理
工程を幾分大きなデータ:
ストレージパス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:文字大きなテキストデータリーダーをストリーミングライター
メモリ
まずてpstmtは、新規コンテンツ(プレースホルダ)に置き換え?
2 pstmt.setCharacterStreamを通して(2、リーダー、(INT )file.length()); 上段か?あるいは新規の流れ、第3のパラメータニーズがタイプintは留意すべき
取ら:
1.リーダーリーダー= rs.getCharacterStream(「小説」 ); CLOC Readerオブジェクトを保存するデータの種類を - リーダライタは、を介して出力することができます。
BLOB:バイナリバイトストリーム入力ストリームのOutputStream
とCLOBステップ基本的に同じで、差:にsetBinaryStream(...)getBinaryStreamを(... )