JavaWeb - JDBC

  1. 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がスロー
  1. 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は、ストアドプロシージャのステップを呼び出します。

  1. オブジェクト(のCallableStatement)発生コール= connection.prepareCall cstmtストアドプロシージャ( "...")。
  2. setXXX()プロセス出力パラメータはcstmt.setInt値(1、30)。
  3. (...)のregisterOutParameterによって、出力パラメータの型を処理し
  4. cstmt.execute()の実行
  5. 出力値(戻り値)の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(? 、?)}」

  1. 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オブジェクトを保存するデータの種類を
  2. リーダライタは、を介して出力することができます。
    BLOB:バイナリバイトストリーム入力ストリームのOutputStream
    とCLOBステップ基本的に同じで、差:にsetBinaryStream(...)getBinaryStreamを(... )
公開された41元の記事 ウォンの賞賛1 ビュー559

おすすめ

転載: blog.csdn.net/qq_41620020/article/details/104969045