Class TestDoubleTransactionContext

java.lang.Object
com.valqueries.automapper.TestDoubleTransactionContext
All Implemented Interfaces:
IOrmOperations, ITransactionContext, AutoCloseable

public class TestDoubleTransactionContext extends Object implements ITransactionContext
  • Constructor Details

    • TestDoubleTransactionContext

      public TestDoubleTransactionContext()
  • Method Details

    • update

      public void update(String sql)
      Specified by:
      update in interface IOrmOperations
    • update

      public UpdateResult update(String sql, Setter setter)
      Specified by:
      update in interface IOrmOperations
    • save

      public UpdateResult save(String tableName, Setter setter)
      Specified by:
      save in interface IOrmOperations
    • query

      public <T> List<T> query(String sql, Setter setter, IRowMapper<T> rowMapper)
      Description copied from interface: IOrmOperations
      Queries data from the database and maps it to the list of objects using row mapper
      Specified by:
      query in interface IOrmOperations
      Type Parameters:
      T - type of the object you wish database rows to be transformed to
      Parameters:
      sql - query to be executed in order to fetch data. Parameters must be parametrized with named parameters like `:my_param`
      setter - setter used to populate parameters in the query
      rowMapper - mapper transforming OrmResultSet to the object of your choice
      Returns:
      list of objects representing the result set rows from the database (list element per result set row)
    • querySingle

      public <T> Optional<T> querySingle(String sql, Setter setter, IRowMapper<T> rowMapper) throws OrmException.MoreThanOneRowFound
      Description copied from interface: IOrmOperations
      Queries for a single row from the database and maps it to the object using row mapper. Throws an exception if more than one row has been found. Returns empty optional in case if no rows were found or the row is mapped to null value.
      Specified by:
      querySingle in interface IOrmOperations
      Type Parameters:
      T - type of the object you wish database rows to be transformed to
      Parameters:
      sql - query to be executed in order to fetch data. Parameters must be parametrized with named parameters like `:my_param`
      setter - setter used to populate parameters in the query
      rowMapper - mapper transforming OrmResultSet to the object of your choice
      Returns:
      Optional of the object representing a row found in the database. Empty if no row were found or row is mapped to null value
      Throws:
      OrmException.MoreThanOneRowFound - in case more than one row can be found for a given query
    • queryOne

      public <T> Optional<T> queryOne(String sql, Setter setter, IRowMapper<T> rowMapper) throws OrmException.MoreThanOneRowFound, NullPointerException
      Description copied from interface: IOrmOperations
      Deprecated because it throws a NullPointerException when the result is null instead of returning empty optional.

      Queries for a single row from the database and maps it to the object using row mapper. Throws an exception if more than one row has been found. Returns empty optional in case if no rows were found.

      Specified by:
      queryOne in interface IOrmOperations
      Type Parameters:
      T - type of the object you wish database rows to be transformed to
      Parameters:
      sql - query to be executed in order to fetch data. Parameters must be parametrized with named parameters like `:my_param`
      setter - setter used to populate parameters in the query
      rowMapper - mapper transforming OrmResultSet to the object of your choice
      Returns:
      Optional of the object representing a row found in the database. Empty if no row were found
      Throws:
      OrmException.MoreThanOneRowFound - in case more than one row can be found for a given query
      NullPointerException - in case more than one row can be found for a given query
    • conditionalExecute

      public <ReturnType> ReturnType conditionalExecute(Function<IOrmOperations,ReturnType> sqlDbFunction, Function<IOrmOperations,ReturnType> sqlServerFunction)
      Description copied from interface: IOrmOperations
      Execute the consumer depending on the database type of the connection. This method should be your last resource when running vendor specific code.
      Specified by:
      conditionalExecute in interface IOrmOperations
      Parameters:
      sqlDbFunction - Consumer to be executed if the database is MariaDB or MySQL.
      sqlServerFunction - Consumer to be executed if the database is SQL Server.
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface ITransactionContext