Class AbstractJdbcHelper

    • Constructor Detail

      • AbstractJdbcHelper

        public AbstractJdbcHelper()
    • Method Detail

      • setDefaultFetchSize

        public AbstractJdbcHelper setDefaultFetchSize​(int fetchSize)
        Set default fetch size for SELECT statements.
        Parameters:
        fetchSize -
        Returns:
        Since:
        0.8.2
      • getDefaultFetchSize

        public int getDefaultFetchSize()
        Get default fetch size for SELECT statements.
        Returns:
        Since:
        0.8.2
      • getSQLErrorCodesFactory

        protected org.springframework.jdbc.support.SQLErrorCodesFactory getSQLErrorCodesFactory()
        Returns:
        Since:
        0.8.2
      • getSQLExceptionTranslator

        protected org.springframework.jdbc.support.SQLExceptionTranslator getSQLExceptionTranslator​(java.sql.Connection conn)
        Parameters:
        conn -
        Returns:
        Since:
        0.8.2
      • translateSQLException

        protected DaoException translateSQLException​(java.sql.Connection conn,
                                                     java.sql.SQLException e)
        Parameters:
        conn -
        e -
        Returns:
        Since:
        0.8.2
      • translateSQLException

        protected DaoException translateSQLException​(java.sql.Connection conn,
                                                     java.lang.String task,
                                                     java.lang.String sql,
                                                     java.sql.SQLException e)
        Parameters:
        conn -
        task -
        sql -
        e -
        Returns:
        Since:
        0.8.2
      • translateSQLException

        protected DaoException translateSQLException​(org.springframework.dao.DataAccessException dae)
        Parameters:
        dae -
        Returns:
        Since:
        0.8.2
      • setDataSource

        public AbstractJdbcHelper setDataSource​(java.lang.String dsName,
                                                javax.sql.DataSource ds)
        Parameters:
        dsName -
        ds -
        Returns:
        Since:
        0.8.1
      • getDataSource

        public javax.sql.DataSource getDataSource​(java.lang.String dsName)
        Parameters:
        dsName -
        Returns:
        Since:
        0.8.1
      • getDataSources

        public java.util.Map<java.lang.String,​javax.sql.DataSource> getDataSources()
        Returns:
        Since:
        0.8.1
      • setDataSources

        public AbstractJdbcHelper setDataSources​(java.util.Map<java.lang.String,​javax.sql.DataSource> dataSources)
        Parameters:
        dataSources -
        Returns:
        Since:
        0.8.1
      • getDataSource

        public javax.sql.DataSource getDataSource()
      • destroy

        public void destroy()
        Destroying method.
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
      • getConnection

        public java.sql.Connection getConnection​(java.lang.String dsName,
                                                 boolean startTransaction)
        Obtain a Connection instance from the specified data source, starts a transaction if specified.
        Specified by:
        getConnection in interface IJdbcHelper
        Returns:
        Since:
        0.8.1
      • startTransaction

        public boolean startTransaction​(java.sql.Connection conn)
        Start a transaction. Has no effect if already in a transaction.
        Specified by:
        startTransaction in interface IJdbcHelper
        Returns:
      • commitTransaction

        public boolean commitTransaction​(java.sql.Connection conn)
        Commit a transaction. Has no effect if not in a transaction.

        Note: autoCommit is set to true after calling this method.

        Specified by:
        commitTransaction in interface IJdbcHelper
        Returns:
      • rollbackTransaction

        public boolean rollbackTransaction​(java.sql.Connection conn)
        Rollback a transaction. Has no effect if not in a transaction.

        Note: autoCommit is set to true after calling this method.

        Specified by:
        rollbackTransaction in interface IJdbcHelper
        Returns:
      • execute

        public int execute​(java.lang.String sql,
                           java.lang.Object... bindValues)
        Execute a non-SELECT statement.
        Specified by:
        execute in interface IJdbcHelper
        bindValues - index-based bind values
        Returns:
        DaoException
      • execute

        public int execute​(java.lang.String sql,
                           java.util.Map<java.lang.String,​?> bindValues)
        Execute a non-SELECT statement.
        Specified by:
        execute in interface IJdbcHelper
        bindValues - name-based bind values
        Returns:
        DaoException
      • executeSelect

        public <T> java.util.List<T> executeSelect​(IRowMapper<T> rowMapper,
                                                   java.lang.String sql,
                                                   java.lang.Object... bindValues)
        Execute a SELECT statement.
        Specified by:
        executeSelect in interface IJdbcHelper
        Parameters:
        rowMapper - to map the ResultSet to object
        bindValues - index-based bind values
        Returns:
      • executeSelect

        public <T> java.util.List<T> executeSelect​(IRowMapper<T> rowMapper,
                                                   java.lang.String sql,
                                                   java.util.Map<java.lang.String,​?> bindValues)
        Execute a SELECT statement.
        Specified by:
        executeSelect in interface IJdbcHelper
        Parameters:
        rowMapper - to map the ResultSet to object
        bindValues - name-based bind values
        Returns:
      • executeSelectOne

        public <T> T executeSelectOne​(IRowMapper<T> rowMapper,
                                      java.lang.String sql,
                                      java.lang.Object... bindValues)
        Execute a SELECT statement and fetch one row.
        Specified by:
        executeSelectOne in interface IJdbcHelper
        Parameters:
        rowMapper - to map the ResultSet to object
        bindValues - index-based bind values
        Returns:
      • executeSelectOne

        public <T> T executeSelectOne​(IRowMapper<T> rowMapper,
                                      java.lang.String sql,
                                      java.util.Map<java.lang.String,​?> bindValues)
        Execute a SELECT statement and fetch one row.
        Specified by:
        executeSelectOne in interface IJdbcHelper
        Parameters:
        rowMapper - to map the ResultSet to object
        bindValues - name-based bind values
        Returns:
      • calcFetchSizeForStream

        protected int calcFetchSizeForStream​(int hintFetchSize,
                                             java.sql.Connection conn)
                                      throws java.sql.SQLException
        Calculate fetch size used for streaming.

        Difference db-drivers/vendors accept different fetch-size values for result-set streaming.

        Parameters:
        hintFetchSize -
        conn -
        Returns:
        Throws:
        java.sql.SQLException
      • executeSelectAsStream

        public <T> java.util.stream.Stream<T> executeSelectAsStream​(IRowMapper<T> rowMapper,
                                                                    java.sql.Connection conn,
                                                                    boolean autoCloseConnection,
                                                                    int fetchSize,
                                                                    java.lang.String sql,
                                                                    java.lang.Object... bindValues)
        Execute a SELECT statement and return result as a Stream.
        Specified by:
        executeSelectAsStream in interface IJdbcHelper
        autoCloseConnection - if true the supplied Connection will be automatically closed when the returned Stream closes.
        Returns:
      • executeSelectAsStream

        public <T> java.util.stream.Stream<T> executeSelectAsStream​(IRowMapper<T> rowMapper,
                                                                    java.sql.Connection conn,
                                                                    boolean autoCloseConnection,
                                                                    int fetchSize,
                                                                    java.lang.String sql,
                                                                    java.util.Map<java.lang.String,​?> bindValues)
        Execute a SELECT statement and return result as a Stream.
        Specified by:
        executeSelectAsStream in interface IJdbcHelper
        autoCloseConnection - if true the supplied Connection will be automatically closed when the returned Stream closes.
        Returns: