Class ConnectionSqlClient

java.lang.Object
io.inverno.mod.sql.vertx.internal.AbstractSqlOperations
io.inverno.mod.sql.vertx.internal.AbstractSqlClient
io.inverno.mod.sql.vertx.ConnectionSqlClient
All Implemented Interfaces:
SqlClient, SqlOperations, UnsafeSqlOperations

public class ConnectionSqlClient extends io.inverno.mod.sql.vertx.internal.AbstractSqlClient

A Vert.x connection SQL client wrapper.

This SQL client implementation supports transaction.

Since:
1.2
Author:
Jeremy Kuhn
  • Constructor Details

    • ConnectionSqlClient

      public ConnectionSqlClient(io.vertx.sqlclient.SqlConnection connection)

      Creates a SQL client with the specified Vert.x SQL connection.

      Parameters:
      connection - a Vert.x SQL connection
  • Method Details

    • preparedStatement

      public PreparedStatement preparedStatement(String sql)
      Description copied from interface: SqlOperations

      Creates a prepared SQL statement.

      Prepared statements are pre-compiled and protect against SQL injection attacks.

      Specified by:
      preparedStatement in interface SqlOperations
      Overrides:
      preparedStatement in class io.inverno.mod.sql.vertx.internal.AbstractSqlOperations
      Parameters:
      sql - the SQL to execute
      Returns:
      a new prepared statement
    • transaction

      public Mono<TransactionalSqlOperations> transaction()
      Description copied from interface: SqlClient

      Returns transactional SQL operations exposing commit() and rollback() method when the implementation supports it.

      This method should be used when there is a need for explicit transaction management.

      The transaction MUST be explicitly committed or rolled back in order to free resources.

      Returns:
      a Mono emitting a transactional SQL operations object
    • transaction

      public <T> Publisher<T> transaction(Function<SqlOperations,Publisher<T>> function)
      Description copied from interface: SqlClient

      Executes the specified function within a transaction.

      All SQL operations performed within the function using the SQL operations argument will be executed within a transaction.

      The transaction is created when the returned publisher is subscribed and committed when the publisher returned by the function returned successfully, it is rolled back otherwise (error or cancel).

      Type Parameters:
      T - The type of results
      Parameters:
      function - the transactional function to be run in a transaction
      Returns:
      a publisher of result
    • connection

      public <T> Publisher<T> connection(Function<SqlOperations,Publisher<T>> function)

      Executes the specified function in the scope of the connection but does not close the connection when the returned publisher terminates.

      Type Parameters:
      T - The type of results
      Parameters:
      function - the function to be run using a single connection
      Returns:
      a publisher
    • onClose

      public Mono<Void> onClose()

      Notifies when the SQL client connection is closed.

      Returns:
      a mono completing empty when the connection has been closed without errors, or failing when the connection was closed with error.