Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.ejie.r01f.sql
Class DBManager

    java.lang.Object
      com.ejie.r01f.sql.DBManager

public class DBManager
extends java.lang.Object

Constructor Summary
`DBManager()` Constructor vacio
`DBManager(java.sql.Connection conx)` Constructor a partir de otra conexión de base de datos (para reutilizar conexiones de base de datos)
`DBManager(java.util.Properties conxProps)` Constructor a partir de las propiedades de conexion a base de datos
`DBManager(java.lang.String appCode, java.lang.String conxName)` Constructor a partir del codigo de aplicación y del nombre de la conexión a utilizar

Method Summary
`void` | `beginTransaction()` Comienza una transaccion
`void` | `commit()` Hace commit de los cambios en BD
`boolean` | `createNewSequence(java.lang.String seqName, long startValue, int increment)` Crea una nueva secuencia en la base de datos
`void` | `endTransaction()` Finaliza la transacción haciendo un commit implicitamente
`int` | `executeDelete(java.lang.String deleteSQL)` Ejecuta una sentencia DELETE
`int` | `executeDelete(java.lang.String table, java.lang.String where, java.util.List params)` Ejecuta una sentencia DELETE
`int` | `executeInsert(java.util.List insertData, java.lang.String table, java.util.List params)` Ejecuta una sentencia INSERT
`int` | `executeInsert(java.lang.String insertSQL)` Ejecuta una sentencia INSERT
`java.util.List` | `executeQuery(java.lang.String sql, java.util.List params)` Método que permite ejecutar una query con parametros en la base de datos Primero se prepara la query sustituyendo los simbolos "?"
`java.util.List` | `executeSelect(java.util.List columns, java.util.List tables, java.util.List params, java.lang.String where, int[] orderColumns, boolean desc, boolean distinctRows)` Ejecuta una sentencia SELECT
`int` | `executeStatement(java.lang.String sql, java.util.List params)` Ejecuta un statement en la base de datos a partir de una sentencia SQL a ejecutar y los parámetros a dicha sentencia.
`int` | `executeUpdate(java.util.List updateData, java.lang.String table, java.lang.String where, java.util.List params)` Ejecuta una sentencia UPDATE
`int` | `executeUpdate(java.lang.String updateSQL)` Ejecuta una sentencia UPDATE
`void` | `finalice()` Liberar la conexion de base de datos
`java.io.InputStream` | `getBLOBInputStream(java.lang.String tableName, java.lang.String blobColumnName, java.util.Map pk)` Obtiene un InputStream a una columna tipo BLOB
`java.io.OutputStream` | `getBLOBOutputStream(java.lang.String tableName, java.lang.String blobColumnName, java.util.Map pk)` Actualiza una columna tipo BLOB Este método a diferencia de updateBLOB NO requiere tener todo el array de bytes con el contenido del CLOB en memoria, sino que a medida que se lee el contenido con un inputStream, se escribe en el outputStream devuelto
`java.io.Reader` | `getCLOBReader(java.lang.String tableName, java.lang.String clobColumnName, java.util.Map pk)` Obtiene un reader a una columna tipo CLOB
`java.io.Writer` | `getCLOBWriter(java.lang.String tableName, java.lang.String clobColumnName, java.util.Map pk)` Actualiza una columna tipo CLOB Este método a diferencia de updateCLOB NO requiere tener todo el String con el contenido del CLOB en memoria, sino que a medida que se lee el contenido con un reader, se escribe en el writer devuelto
`java.util.Properties` | `getConnectionProperties()` Devuelve las propiedades
`long` | `getSequenceNextValue(java.lang.String seqName)` Obtiene el siguiente valor de la secuencia cuyo nombre se pasa como parametro
`byte[]` | `loadBLOB(java.lang.String tableName, java.lang.String blobColumnName, java.util.Map pk)` Carga una columna tipo BLOB
`java.lang.String` | `loadCLOB(java.lang.String tableName, java.lang.String clobColumnName, java.util.Map pk)` Carga una columna tipo CLOB
`void` | `rollBackTransaction()` Cancela los cambios en la transacción
`void` | `setConnectionProperties(java.util.Properties props)` Establece las propiedades para obtener conexiones
`void` | `updateBLOB(java.lang.String tableName, java.lang.String blobColumnName, java.util.Map pk, byte[] newValue)` Actualiza una columna tipo BLOB
`void` | `updateCLOB(java.lang.String tableName, java.lang.String clobColumnName, java.util.Map pk, java.lang.String newValue)` Actualiza una columna tipo CBLOB

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DBManager

    public DBManager()

  Constructor vacio

### DBManager

    public DBManager(java.util.Properties conxProps)

  Constructor a partir de las propiedades de conexion a base de datos

### DBManager

    public DBManager(java.sql.Connection conx)

  Constructor a partir de otra conexión de base de datos (para reutilizar conexiones de base de datos)

### DBManager

    public DBManager(java.lang.String appCode,
                     java.lang.String conxName)

  Constructor a partir del codigo de aplicación y del nombre de la conexión a utilizar

Parameters:
  `appCode` - El codigo de aplicación (se utiliza para encontrar el properties)
  `conxName` - El nombre de la conexión a base de datos a utilizar Se utiliza para obtener la configuración de las properties

Method Detail

### finalice

    public void finalice()

  Liberar la conexion de base de datos

### setConnectionProperties

    public void setConnectionProperties(java.util.Properties props)

  Establece las propiedades para obtener conexiones

### getConnectionProperties

    public java.util.Properties getConnectionProperties()

  Devuelve las propiedades

  Returns:

### beginTransaction

    public void beginTransaction()
                          throws java.sql.SQLException

  Comienza una transaccion

  Throws:
    `java.sql.SQLException`

### endTransaction

    public void endTransaction()
                        throws java.sql.SQLException

  Finaliza la transacción haciendo un commit implicitamente

  Throws:
    `java.sql.SQLException`

### rollBackTransaction

    public void rollBackTransaction()
                             throws java.sql.SQLException

  Cancela los cambios en la transacción

  Throws:
    `java.sql.SQLException`

### commit

    public void commit()
                throws java.sql.SQLException

  Hace commit de los cambios en BD

  Throws:
    `java.sql.SQLException`

### executeSelect

    public java.util.List executeSelect(java.util.List columns,
                                        java.util.List tables,
                                        java.util.List params,
                                        java.lang.String where,
                                        int[] orderColumns,
                                        boolean desc,
                                        boolean distinctRows)
                                 throws java.sql.SQLException

  Ejecuta una sentencia SELECT

  Parameters:
    `columns` - Columnas que intervienen en la select
    `tables` - Tablas que intervienen en la select
    `params` - Lista con los parametros de la parte WHERE de la select
    `where` - WHERE de la select
    `orderColumns` - indice de las columnas por las que se ordena
    `desc` - indica si los resultados se ordenan de forma descendente
    `distinctRows` - Indica si hay que incluir el indicador DISTINCT en la select
  Returns:
    las filas encontradas en la base de datos en forma de una lista en la que cada elemento es un mapa con la estructura: nombreColumna|valor
  Throws:
    `java.sql.SQLException` - si hay algun error al acceder a la base de datos

### executeQuery

    public java.util.List executeQuery(java.lang.String sql,
                                       java.util.List params)
                                throws java.sql.SQLException

  Método que permite ejecutar una query con parametros en la base de datos Primero se prepara la query sustituyendo los simbolos "?" del String (primer parametro) por los parametros pasados en la lista (segudo parametro) y a continuacion se recuperan los datos de la BD devolviendo una lista con las filas en la que cada elemento es otra lista con las columnas. En el caso de que la lista de parametros (segundo parametro) sea nulo, NO será necesario realizar el paso previo de montar la query final.

  Parameters:
    `sql` - Query SQL que quiere ser ejecutada.
    `params` - Lista de parametros que completan la query final que va a ser ejecutada.
  Returns:
    las filas encontradas en la base de datos en forma de una lista en la que cada elemento es un mapa con la estructura: nombreColumna|valor
  Throws:
    `java.sql.SQLException` - si hay errores en el acceso a la base de datos.

### executeUpdate

    public int executeUpdate(java.util.List updateData,
                             java.lang.String table,
                             java.lang.String where,
                             java.util.List params)
                      throws java.sql.SQLException

  Ejecuta una sentencia UPDATE

  Parameters:
    `updateData` - Parejas de elementos NOMBRE_COLUMNA / VALOR
    `table` - Tabla sobre la que queremos que se ejecute el update
    `where` - WHERE de la select
    `params` - Lista con los parametros de la parte WHERE del update en el caso de que se utilice una PreparedStatement
  Returns:
    El numero de columnas afectadas
  Throws:
    `java.sql.SQLException` - si hay error al acceder a la base de datos

### executeUpdate

    public int executeUpdate(java.lang.String updateSQL)
                      throws java.sql.SQLException

  Ejecuta una sentencia UPDATE

  Parameters:
    `updateSQL` - sql de update
  Returns:
    El numero de columnas afectadas
  Throws:
    `java.sql.SQLException` - si hay error al acceder a la base de datos

### executeInsert

    public int executeInsert(java.util.List insertData,
                             java.lang.String table,
                             java.util.List params)
                      throws java.sql.SQLException

  Ejecuta una sentencia INSERT

  Parameters:
    `insertData` - Parejas de elementos NOMBRE_COLUMNA / VALOR
    `table` - Tabla sobre la que queremos que se ejecute el update
    `params` - Lista con los parametros de la parte WHERE del update en el caso de que se utilice una PreparedStatement
  Returns:
    El numero de columnas afectadas
  Throws:
    `java.sql.SQLException` - si hay error al acceder a la base de datos

### executeInsert

    public int executeInsert(java.lang.String insertSQL)
                      throws java.sql.SQLException

  Ejecuta una sentencia INSERT

  Parameters:
    `insertSQL` - sql de insercion
  Returns:
    El numero de columnas afectadas
  Throws:
    `java.sql.SQLException` - si hay error al acceder a la base de datos

### executeDelete

    public int executeDelete(java.lang.String table,
                             java.lang.String where,
                             java.util.List params)
                      throws java.sql.SQLException

  Ejecuta una sentencia DELETE

  Parameters:
    `table` - Tabla sobre la que se quiere que se ejecute el delete
    `where` - WHERE del delete
  Returns:
    El string con la sentencia DELETE
  Throws:
    `java.sql.SQLException`

### executeDelete

    public int executeDelete(java.lang.String deleteSQL)
                      throws java.sql.SQLException

  Ejecuta una sentencia DELETE

  Parameters:
    `deleteSQL` - sql de borrado
  Returns:
    El string con la sentencia DELETE
  Throws:
    `java.sql.SQLException`

### executeStatement

    public int executeStatement(java.lang.String sql,
                                java.util.List params)
                         throws java.sql.SQLException

  Ejecuta un statement en la base de datos a partir de una sentencia SQL a ejecutar y los parámetros a dicha sentencia.

  Parameters:
    `sql` - La query a ejecutar
    `params` - Los parametros de la query
  Returns:
    El numero de filas afectadas por la operacion
  Throws:
    `java.sql.SQLException` - si hay algún error en la base de datos

### createNewSequence

    public boolean createNewSequence(java.lang.String seqName,
                                     long startValue,
                                     int increment)
                              throws java.sql.SQLException

  Crea una nueva secuencia en la base de datos

  Parameters:
    `seqName` - El nombre de la secuencia
  Returns:
    True o false dependiendo si se ha creado o no la secuencia
  Throws:
    `java.sql.SQLException`

### getSequenceNextValue

    public long getSequenceNextValue(java.lang.String seqName)
                              throws java.sql.SQLException

  Obtiene el siguiente valor de la secuencia cuyo nombre se pasa como parametro

  Parameters:
    `seqName` - El nombre de la secuencia
  Throws:
    `java.sql.SQLException`

### getCLOBWriter

    public java.io.Writer getCLOBWriter(java.lang.String tableName,
                                        java.lang.String clobColumnName,
                                        java.util.Map pk)
                                 throws java.sql.SQLException

  Actualiza una columna tipo CLOB Este método a diferencia de updateCLOB NO requiere tener todo el String con el contenido del CLOB en memoria, sino que a medida que se lee el contenido con un reader, se escribe en el writer devuelto

  Parameters:
    `tableName` - El nombre de la tabla que contiene el CLOB
    `clobColumnName` - El nombre de la columna que contiene el clob
    `pk` - La clave primaria de la fila (nombreColumna|valor)
  Returns:
    El writer al CLOB
  Throws:
    `java.sql.SQLException`

### updateCLOB

    public void updateCLOB(java.lang.String tableName,
                           java.lang.String clobColumnName,
                           java.util.Map pk,
                           java.lang.String newValue)
                    throws java.sql.SQLException

  Actualiza una columna tipo CBLOB

  Parameters:
    `tableName` - El nombre de la tabla que contiene el BLOB
    `pk` - La clave primaria de la fila (nombreColumna|valor)
    `newValue` - El nuevo valor para el CLOB
  Throws:
    `java.sql.SQLException`

### getBLOBOutputStream

    public java.io.OutputStream getBLOBOutputStream(java.lang.String tableName,
                                                    java.lang.String blobColumnName,
                                                    java.util.Map pk)
                                             throws java.sql.SQLException

  Actualiza una columna tipo BLOB Este método a diferencia de updateBLOB NO requiere tener todo el array de bytes con el contenido del CLOB en memoria, sino que a medida que se lee el contenido con un inputStream, se escribe en el outputStream devuelto

  Parameters:
    `tableName` - El nombre de la tabla que contiene el BLOB
    `blobColumnName` - El nombre de la columna que contiene el blob
    `pk` - La clave primaria de la fila (nombreColumna|valor)
  Returns:
    El OutputStream al BLOB
  Throws:
    `java.sql.SQLException`

### updateBLOB

    public void updateBLOB(java.lang.String tableName,
                           java.lang.String blobColumnName,
                           java.util.Map pk,
                           byte[] newValue)
                    throws java.sql.SQLException

  Actualiza una columna tipo BLOB

  Parameters:
    `tableName` - El nombre de la tabla que contiene el BLOB
    `blobColumnName` - El nombre de la columna que contiene el blob
    `pk` - La clave primaria de la fila (nombreColumna|valor)
    `newValue` - El nuevo valor para el BLOB
  Throws:
    `java.sql.SQLException`

### getCLOBReader

    public java.io.Reader getCLOBReader(java.lang.String tableName,
                                        java.lang.String clobColumnName,
                                        java.util.Map pk)
                                 throws java.sql.SQLException

  Obtiene un reader a una columna tipo CLOB

  Parameters:
    `tableName` - El nombre de la tabla que contiene el BLOB
    `clobColumnName` - El nombre de la columna que contiene el blob
    `pk` - La clave primaria de la fila (nombreColumna|valor)
  Returns:
    El reader al CLOB
  Throws:
    `java.sql.SQLException`

### loadCLOB

    public java.lang.String loadCLOB(java.lang.String tableName,
                                     java.lang.String clobColumnName,
                                     java.util.Map pk)
                              throws java.sql.SQLException

  Carga una columna tipo CLOB

  Parameters:
    `tableName` - El nombre de la tabla que contiene el BLOB
    `clobColumnName` - El nombre de la columna que contiene el blob
    `pk` - La clave primaria de la fila (nombreColumna|valor)
  Returns:
    El valor del CLOB
  Throws:
    `java.sql.SQLException`

### getBLOBInputStream

    public java.io.InputStream getBLOBInputStream(java.lang.String tableName,
                                                  java.lang.String blobColumnName,
                                                  java.util.Map pk)
                                           throws java.sql.SQLException

  Obtiene un InputStream a una columna tipo BLOB

  Parameters:
    `tableName` - El nombre de la tabla que contiene el BLOB
    `blobColumnName` - El nombre de la columna que contiene el blob
    `pk` - La clave primaria de la fila (nombreColumna|valor)
  Throws:
    `java.sql.SQLException`

### loadBLOB

    public byte[] loadBLOB(java.lang.String tableName,
                           java.lang.String blobColumnName,
                           java.util.Map pk)
                    throws java.sql.SQLException

  Carga una columna tipo BLOB

  Parameters:
    `tableName` - El nombre de la tabla que contiene el BLOB
    `blobColumnName` - El nombre de la columna que contiene el blob
    `pk` - Un mapa con los oid y valores de las columnas de la primary key
  Returns:
    El valor del BLOB
  Throws:
    `java.sql.SQLException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD