JavaWeb - JDBC

  1. Resumen JDBC (plantilla, ensayo en ocho partes):
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, además de Class.forName () lanza ClassNotFoundException, SQLException volcado toda método restante
  1. CallableStatement: llamar a un procedimiento almacenado, una función de almacenar
    Connection.prepareCall (parámetro: procedimiento almacenado o nombre de función se almacena)
    formato de parámetro:
    procedimiento almacenado (sin valor de retorno de retorno, Parámetros que se utilizan en su lugar):
    {Llamada nombre del procedimiento almacenado (lista de parámetros)}
    almacenado funciones (valores de retorno regreso):
    {= almacenamiento de llamadas nombre de la función (lista de parámetros)}?
create or replace procedure addTwoNum ( num1  in number,num2  in number,result out number )  -- 1 + 2 ->3
as
begin
	result := num1+num2 ;
end ;
/

Si accede a la base de datos a través de sqlplus sólo tiene que abrir: OracleServiceSID
por otros programas con los datos de acceso (sqldevelop, navicate, JDBC), necesidad de abrir: OracleServiceSID, XxxListener

JDBC pasos llamar a un procedimiento almacenado:

  1. Objeto (CallableStatement) de generación de llamada a un procedimiento almacenado cstmt = Connection.prepareCall ( "...");
  2. Por setXXX () parámetro de salida de proceso valora cstmt.setInt (1, 30);
  3. (...) procesado de salida de tipo de parámetro por registerOutParameter
  4. cstmt.execute () ejecución
  5. Recepción de un valor de salida (valor de retorno) getXXX ()

Tune funciones de almacenamiento:

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 ;
/

Llamadas JDBC función almacenada: el ajuste de la diferencia entre el procedimiento almacenado:
Al llamar la atención parámetros: "{= llamada addTwoNumfunction (? , ??)}"

  1. CLOB procesamiento / tipo BLOB de
    proceso de datos un tanto grandes:
    Una ruta de almacenamiento E :. \ JDK_API_zh_CN.CHM
    a través de JDBC rutas de archivos de almacenamiento y después del procesamiento de acuerdo con la operación IO
    ejemplo: el JDBC E: archivo de cadena \ JDK_API_zh_CN.CHM "E: \ JDK_API_zh_CN.CHM "almacenada en la base de datos
    para obtener: 1 obtener la ruta." E: \ JDK_API_zh_CN.CHM "2.IO
    b.
    CLOB: grandes volúmenes de datos de texto (novela -> datos)
    BLOB: binario
    CLOB: carácter grandes datos de texto fluyen lector escritor
    de memoria
    1. primera pstmt sustituye por nuevo contenido (marcadores de posición)?
    2 a través de la pstmt.setCharacterStream (2, lector, (int ) file.length ()); el paso superior? Alternativamente la novela los terceros necesidades parámetro de flujo, para señalar que el tipo Int
    toma:
    1. lector Lector = rs.getCharacterStream ( "NOVEL" ); el tipo de datos para ahorrar cloc objeto Reader
  2. El escritor lector se puede emitir a través.
    blob: flujo de bytes binaria InputStream OutputStream
    y el paso CLOB básicamente el mismo, la diferencia: setBinaryStream (...) getBinaryStream (... )
Publicado 41 artículos originales · ganado elogios 1 · visitas 559

Supongo que te gusta

Origin blog.csdn.net/qq_41620020/article/details/104969045
Recomendado
Clasificación