Class DbUtil

java.lang.Object
giis.demo.util.DbUtil
Direct Known Subclasses:
Database

public abstract class DbUtil extends Object
Metodos de utilidad para simplificar las queries realizadas en las clases que implementan la logica de negocio: Se implementa como una clase abstracta para que la clase derivada implemente los detalles relativos a la conexion y a la estructura de la base de datos a crear, y a la vez pueda usar los metodos que se definen aqui.
La mayoria de los metodos de utilidad utilizan apache commons-dbutils que gestiona todo el manejo de resultsets, su mapeo a objetos y las excepciones permitiendo un codigo mucho mas limpio en las clases de la capa de negocio y DAOs.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Ejecuta un conjunto de sentencias sql de actualizacion en un unico batch
    void
    Ejecuta un conjunto de sentencias sql de actualizacion en un unico batch
    void
    Ejecuta un conjunto de sentencias sql de actualizacion en un unico batch, sin causar excepcion cuando falla la ejecucion (usado normalmente para borrar tablas de la bd, que fallarian si no existen)
    executeQueryArray(String sql, Object... params)
    Ejecuta una query sql con los parametros especificados mapeando el resultet en una lista de arrays de objetos; Utiliza apache commons-dbutils para relizar el mapeo y el manejo del resto de aspectos de jdbc
    executeQueryMap(String sql, Object... params)
     
    <T> List<T>
    executeQueryPojo(Class<T> pojoClass, String sql, Object... params)
    Ejecuta una query sql con los parametros especificados mapeando el resultet en una lista de objetos de la clase indicada en pojoClass; Utiliza apache commons-dbutils para realizar el mapeo y el manejo del resto de aspectos de jdbc
    void
    Metodo simple para ejecutar todas las sentencias sql que se encuentran en un archivo, teniendo en cuenta:
    - Cada sentencia DEBE finalizar en ; pudiendo ocupar varias lineas
    - Se permiten comentarios de linea (--)
    - Todas las sentencias drop se ejecutan al principio, y se ignoran los fallos en caso de que no exista la tabla (solo para drop)
    void
    executeUpdate(String sql, Object... params)
    Ejecuta una sentencia sql de actualizacion con los parametros especificados; Utiliza apache commons-dbutils para manejar todos los aspectos de jdbc
    Obtiene un objeto conexion para esta base de datos
    abstract String
    Obtencion de la url de conexion que debe implementarse en la subclase

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DbUtil

      public DbUtil()
  • Method Details

    • getUrl

      public abstract String getUrl()
      Obtencion de la url de conexion que debe implementarse en la subclase
    • getConnection

      public Connection getConnection() throws SQLException
      Obtiene un objeto conexion para esta base de datos
      Throws:
      SQLException
    • executeQueryPojo

      public <T> List<T> executeQueryPojo(Class<T> pojoClass, String sql, Object... params)
      Ejecuta una query sql con los parametros especificados mapeando el resultet en una lista de objetos de la clase indicada en pojoClass; Utiliza apache commons-dbutils para realizar el mapeo y el manejo del resto de aspectos de jdbc
    • executeQueryArray

      public List<Object[]> executeQueryArray(String sql, Object... params)
      Ejecuta una query sql con los parametros especificados mapeando el resultet en una lista de arrays de objetos; Utiliza apache commons-dbutils para relizar el mapeo y el manejo del resto de aspectos de jdbc
    • executeQueryMap

      public List<Map<String,Object>> executeQueryMap(String sql, Object... params)
    • executeUpdate

      public void executeUpdate(String sql, Object... params)
      Ejecuta una sentencia sql de actualizacion con los parametros especificados; Utiliza apache commons-dbutils para manejar todos los aspectos de jdbc
    • executeScript

      public void executeScript(String fileName)
      Metodo simple para ejecutar todas las sentencias sql que se encuentran en un archivo, teniendo en cuenta:
      - Cada sentencia DEBE finalizar en ; pudiendo ocupar varias lineas
      - Se permiten comentarios de linea (--)
      - Todas las sentencias drop se ejecutan al principio, y se ignoran los fallos en caso de que no exista la tabla (solo para drop)
    • executeBatch

      public void executeBatch(String[] sqls)
      Ejecuta un conjunto de sentencias sql de actualizacion en un unico batch
    • executeBatch

      public void executeBatch(List<String> sqls)
      Ejecuta un conjunto de sentencias sql de actualizacion en un unico batch
    • executeBatchNoFail

      public void executeBatchNoFail(List<String> sqls)
      Ejecuta un conjunto de sentencias sql de actualizacion en un unico batch, sin causar excepcion cuando falla la ejecucion (usado normalmente para borrar tablas de la bd, que fallarian si no existen)