Class 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 Detail

      • 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 Detail

      • 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