Ensayo de ocho patas JavaWeb-JDBC, JSBC utiliza procedimientos almacenados, funciones almacenadas y maneja tipos CLOB / BLOB

1.Resumen jdbc (plantilla, ensayo de ocho patas):

intente { a. Importe el paquete de controladores y cargue la clase de controlador específica Class.forName ("clase de controlador específica"); b. Establezca una conexión con la base de datos connection = DriverManager.getConnection (...); c. Obtenga el objeto de operar la base de datos a través de la conexión (Statement \ PreparationStatement \ callablestatement)           stmt = connection.createStatement (); d. (Consulta) procesar el conjunto de resultados rs = pstmt.executeQuery () while (rs.next ()) {rs.getXxx (. .);} } catch (ClassNotFoundException e) {...} catch (SQLException e) {... } catch (Exception e) {... } finalmente {     // La secuencia de apertura es opuesta a la secuencia de cierre     si ( rs! = null) rs.close ()     if (stmt! = null) stmt.close ();     if (conexión! = null) connection.close (); }




















En --jdbc, excepto Class.forName () arroja ClassNotFoundException, todos los demás métodos arrojan SQLException


2.CallableStatement: llamar a procedimientos almacenados, funciones almacenadas

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

Formato de parámetro:
procedimiento almacenado (devolver sin valor de retorno, reemplazar con parámetro out):
    {llamar al nombre del procedimiento almacenado (lista de parámetros)}
función almacenada (con retorno de valor de retorno):
    {? = Llamar al nombre de la función almacenada (lista de parámetros)}

Procedimiento almacenado:

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

Enfatice:
si accede a la base de datos a través de sqlplus, solo necesita abrir: OracleServiceSID
para acceder a los datos a través de otros programas (sqldevelop, navicate, JDBC), necesita abrir: OracleServiceSID, XxxListener

Pasos para que JDBC llame a un procedimiento almacenado:

a. Genere el objeto que llama al procedimiento almacenado (CallableStatement) cstmt = connection.prepareCall ("...");
b. Procese el valor del parámetro de salida a través de setXxx () cstmt.setInt (1, 30);
c. A través de registerOutParameter (...) Tipo de parámetro de salida del proceso
d.cstmt.execute () ejecutar
e. Aceptar valor de salida (valor de retorno) getXxx ()


Función de almacenamiento de llamadas JDBC:

crear o sustituir la función addTwoNumfunction (num1 en número, num2 en número) - 1 + 2 
número de devolución
como
    número del resultado;    
comenzará
    resultado: = num1 + num2;
    return resultado;
fin;
/
JDBC llamar a una función almacenada: la diferencia entre llamar a un almacenados procedimiento:
Al llamar, preste atención a los parámetros: "{? = llamar addTwoNumfunction (?,?)}"

3. Manejo de tipos CLOB / BLOB

Procesando datos
    
un poco más grandes: a. Ruta de
    almacenamiento E: \ JDK_API_zh_CN.CHM almacena la ruta del archivo a través de JDBC y luego la procesa de acuerdo con las operaciones de IO.
    Por ejemplo: JDBC almacena el archivo E: \ JDK_API_zh_CN.CHM como una cadena "E: \ JDK_API_zh_CN.CHM "
        Obtenga de la base de datos : 1. Obtenga la ruta" E: \ JDK_API_zh_CN.CHM "2.IO    

b.
    CLOB: datos de texto grandes (novedoso -> datos)
    BLOB: binario


clob: flujo de caracteres de datos de texto grande
Almacenamiento de Reader Writer
1. Primero pase el pstmt? para reemplazar el contenido nuevo (marcador de posición)
2. Luego pase pstmt.setCharacterStream (2, reader, (int) file.length ()); Vaya al paso anterior de? Reemplace con una secuencia novedosa, tenga en cuenta que el tercer parámetro debe ser de tipo Int

Tome:
1. Pass Reader reader = rs.getCharacterStream ("NOVEL"); Guarde los datos de tipo cloc en el objeto Reader
2. Simplemente envíe el Reader a través de Writer.


blob: flujo de bytes binarios InputStream OutputStream
y los pasos CLOB son básicamente los mismos, la diferencia: setBinaryStream (...) getBinaryStream (...)   

Supongo que te gusta

Origin blog.csdn.net/Qmilumilu/article/details/86479988
Recomendado
Clasificación