Class SqlManagerImpl

java.lang.Object
io.vertigo.database.impl.sql.SqlManagerImpl
All Implemented Interfaces:
io.vertigo.core.node.component.Component, io.vertigo.core.node.component.CoreComponent, io.vertigo.core.node.component.Manager, SqlManager

public final class SqlManagerImpl extends Object implements SqlManager
Implémentation standard du gestionnaire des données et des accès aux données.
Author:
pchretien
  • Constructor Details

    • SqlManagerImpl

      @Inject public SqlManagerImpl(io.vertigo.core.locale.LocaleManager localeManager, io.vertigo.core.analytics.AnalyticsManager analyticsManager, List<SqlConnectionProviderPlugin> sqlConnectionProviderPlugins)
      Constructor.
      Parameters:
      localeManager - Manager des messages localisés
      analyticsManager - Manager de la performance applicative
      sqlConnectionProviderPlugins - List of connectionProviderPlugin. Names must be unique.
  • Method Details

    • getConnectionProvider

      public SqlConnectionProvider getConnectionProvider(String name)
      Specified by:
      getConnectionProvider in interface SqlManager
      Parameters:
      name - ConnectionProvider name
      Returns:
      SecondaryConnectionProvider
    • executeQuery

      public <O> List<O> executeQuery(SqlStatement sqlStatement, Class<O> dataType, Map<Class,io.vertigo.core.lang.BasicTypeAdapter> basicTypeAdapters, Integer limit, SqlConnection connection) throws SQLException
      Executes a sql query returning a list
      Specified by:
      executeQuery in interface SqlManager
      Parameters:
      sqlStatement - sqlStatement
      dataType - the return dataType of the list
      basicTypeAdapters - a list of adapters from complexTypes (not natively supported by db) to basicType (supported ones). Values are transformed from complex types to basic one before storage.
      limit - the return limit (null if no limit)
      connection - the sqlConnection
      Returns:
      the list
      Throws:
      SQLException
    • executeUpdateWithGeneratedKey

      public <O> io.vertigo.core.lang.Tuple<Integer,O> executeUpdateWithGeneratedKey(SqlStatement sqlStatement, SqlDialect.GenerationMode generationMode, String columnName, Class<O> dataType, Map<Class,io.vertigo.core.lang.BasicTypeAdapter> basicTypeAdapters, SqlConnection connection) throws SQLException
      Executes a sql query returning the number of modified rows.
      Specified by:
      executeUpdateWithGeneratedKey in interface SqlManager
      Parameters:
      sqlStatement - sqlStatement
      generationMode - the generation methode
      columnName - the column name (of the generated key)
      dataType - the dataType of the generated key
      basicTypeAdapters - a list of adapters from complexTypes (not natively supported by db) to basicType (supported ones). Values are transformed from complex types to basic one before storage.
      connection - sqlConnection
      Returns:
      a tuple with the row count for INSERT, UPDATE or DELETE statements; or 0 for SQL statements that return nothing and the generated key
      Throws:
      SQLException
    • executeUpdate

      public int executeUpdate(SqlStatement sqlStatement, Map<Class,io.vertigo.core.lang.BasicTypeAdapter> basicTypeAdapters, SqlConnection connection) throws SQLException
      Executes a sql query returning the number of modified rows.
      Specified by:
      executeUpdate in interface SqlManager
      Parameters:
      sqlStatement - sqlStatement
      basicTypeAdapters - a list of adapters from complexTypes (not natively supported by db) to basicType (supported ones). Values are transformed from complex types to basic one before storage.
      connection - sqlConnection
      Returns:
      either the row count for INSERT, UPDATE or DELETE statements; or 0 for SQL statements that return nothing
      Throws:
      SQLException
    • executeBatch

      public OptionalInt executeBatch(SqlStatement sqlStatement, Map<Class,io.vertigo.core.lang.BasicTypeAdapter> basicTypeAdapters, SqlConnection connection) throws SQLException
      Executes the batch .
      Specified by:
      executeBatch in interface SqlManager
      Parameters:
      sqlStatement - sqlStatement
      basicTypeAdapters - a list of adapters from complexTypes (not natively supported by db) to basicType (supported ones). Values are transformed from complex types to basic one before storage.
      connection - sqlConnection
      Returns:
      the SUM of row count for INSERT, UPDATE or DELETE statements; or 0 for SQL statements that return nothing if no info available an empty Optional is returned
      Throws:
      SQLException - Si erreur
    • executeBatchWithGeneratedKeys

      public <O> io.vertigo.core.lang.Tuple<Integer,List<O>> executeBatchWithGeneratedKeys(SqlStatement sqlStatement, SqlDialect.GenerationMode generationMode, String columnName, Class<O> dataType, Map<Class,io.vertigo.core.lang.BasicTypeAdapter> basicTypeAdapters, SqlConnection connection) throws SQLException
      Specified by:
      executeBatchWithGeneratedKeys in interface SqlManager
      Throws:
      SQLException