Deprecated
as a consequence of JDBC41Connection being deprecated. See corresponding docs for further information.
Mock connections can be used to supply jOOQ with unit test data, avoiding the round-trip of using an actual in-memory test database, such as Derby, H2 or HSQLDB. A usage example:
MockDataProvider provider = new MockDataProvider() {
public MockResult[] execute(MockExecuteContext context) throws SQLException {
Result<MyTableRecord> result = executor.newResult(MY_TABLE);
result.add(executor.newRecord(MY_TABLE));
return new MockResult[] {
new MockResult(1, result)
};
}
};
Connection connection = new MockConnection(provider);
DSLContext create = DSL.using(connection, dialect);
assertEquals(1, create.selectOne().fetch().size());
While this MockConnection can be used independently of jOOQ, it
has been optimised for usage with jOOQ. JDBC features that are not used by
jOOQ (e.g. procedure bind value access by parameter name) are not supported
in this mock framework
Disclaimer
The general idea of mocking a JDBC connection with this jOOQ API is to provide quick workarounds, injection points, etc. using a very simple JDBC abstraction. It is NOT RECOMMENDED to emulate an entire database (including complex state transitions, transactions, locking, etc.) using this mock API. Once you have this requirement, please consider using an actual database instead for integration testing (e.g. using https://www.testcontainers.org), rather than implementing your test database inside of a MockDataProvider.
| Modifier and Type | Field and Description |
|---|---|
| private final MockDataProvider | |
| private boolean |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| private void | |
| public void | clearWarnings()
Implements java. Connection object.
|
| public void | close()
Implements java. Connection object's database and JDBC resources
immediately instead of waiting for them to be automatically released.
|
| public void | commit()
Implements java. Connection object.
|
| public Array | createArrayOf(String
the SQL name of the type the elements of the array map to. The typeName is a
database-specific name which may be the name of a built-in type, a user-defined type or a standard SQL type supported by this database. This
is the value returned by typeName, Object[] Array.getBaseTypeNamethe elements that populate the returned object elements)Implements java. |
| public Blob | createBlob()
Implements java. Blob interface.
|
| public Clob | createClob()
Implements java. Clob interface.
|
| public NClob | createNClob()
Implements java. NClob interface.
|
| public SQLXML | createSQLXML()
Implements java. SQLXML interface.
|
| public Statement | createStatement()
Implements java. Statement object for sending
SQL statements to the database.
|
| public Statement | createStatement(int
a result set type; one of
resultSetType, int ResultSet.TYPE_FORWARD_ONLY,
ResultSet.TYPE_SCROLL_INSENSITIVE, or
ResultSet.TYPE_SCROLL_SENSITIVEa concurrency type; one of
resultSetConcurrency)ResultSet.CONCUR_READ_ONLY or
ResultSet.CONCUR_UPDATABLEImplements java. Statement object that will generate
ResultSet objects with the given type and concurrency.
|
| public Statement | createStatement(int
one of the following resultSetType, int ResultSet
constants:
ResultSet.TYPE_FORWARD_ONLY,
ResultSet.TYPE_SCROLL_INSENSITIVE, or
ResultSet.TYPE_SCROLL_SENSITIVEone of the following resultSetConcurrency, int ResultSet
constants:
ResultSet.CONCUR_READ_ONLY or
ResultSet.CONCUR_UPDATABLEone of the following resultSetHoldability)ResultSet
constants:
ResultSet.HOLD_CURSORS_OVER_COMMIT or
ResultSet.CLOSE_CURSORS_AT_COMMITImplements java. Statement object that will generate
ResultSet objects with the given type, concurrency,
and holdability.
|
| public Struct | createStruct(String
the SQL type name of the SQL structured type that this typeName, Object[] Struct
object maps to. The typeName is the name of a user-defined type that
has been defined for this database. It is the value returned by
Struct.getSQLTypeName.the attributes that populate the returned object attributes)Implements java. |
| public boolean | getAutoCommit()
Implements java. Connection
object.
|
| public String | getCatalog()
Implements java. Connection object's current catalog name.
|
| public String | getClientInfo(String
The name of the client info property to retrieve name)Implements java. |
| public Properties | getClientInfo()
Implements java. |
| public int | getHoldability()
Implements java. ResultSet objects
created using this Connection object.
|
| public DatabaseMetaData | getMetaData()
Implements java. DatabaseMetaData object that contains
metadata about the database to which this
Connection object represents a connection.
|
| public int | getTransactionIsolation()
Implements java. Connection object's current
transaction isolation level.
|
| public Map | getTypeMap()
Implements java. Map object associated with this
Connection object.
|
| public SQLWarning | getWarnings()
Implements java. Connection object.
|
| public boolean | isClosed()
Implements java. Connection object has been
closed.
|
| public boolean | isReadOnly()
Implements java. Connection
object is in read-only mode.
|
| public boolean | isValid(int
The time in seconds to wait for the database operation
used to validate the connection to complete. If the
timeout period expires before the operationcompletes,
this method returns false. A value of 0 indicates a
timeout is not applied to the database operation. timeout)Implements java. |
| public boolean | isWrapperFor(Class<?>
a Class defining an interface. iface)Implements java. |
| public String | nativeSQL(String
an SQL statement that may contain one or more '?'
parameter placeholders sql)Implements java. |
| public CallableStatement | prepareCall(String
an SQL statement that may contain one or more '?'
parameter placeholders. Typically this statement is specified using JDBC
call escape syntax. sql)Implements java. CallableStatement object for calling
database stored procedures.
|
| public CallableStatement | prepareCall(String
a sql, int String object that is the SQL statement to
be sent to the database; may contain on or more '?' parametersa result set type; one of
resultSetType, int ResultSet.TYPE_FORWARD_ONLY,
ResultSet.TYPE_SCROLL_INSENSITIVE, or
ResultSet.TYPE_SCROLL_SENSITIVEa concurrency type; one of
resultSetConcurrency)ResultSet.CONCUR_READ_ONLY or
ResultSet.CONCUR_UPDATABLEImplements java. CallableStatement object that will generate
ResultSet objects with the given type and concurrency.
|
| public CallableStatement | prepareCall(String
a sql, int String object that is the SQL statement to
be sent to the database; may contain on or more '?' parametersone of the following resultSetType, int ResultSet
constants:
ResultSet.TYPE_FORWARD_ONLY,
ResultSet.TYPE_SCROLL_INSENSITIVE, or
ResultSet.TYPE_SCROLL_SENSITIVEone of the following resultSetConcurrency, int ResultSet
constants:
ResultSet.CONCUR_READ_ONLY or
ResultSet.CONCUR_UPDATABLEone of the following resultSetHoldability)ResultSet
constants:
ResultSet.HOLD_CURSORS_OVER_COMMIT or
ResultSet.CLOSE_CURSORS_AT_COMMITImplements java. CallableStatement object that will generate
ResultSet objects with the given type and concurrency.
|
| public PreparedStatement | prepareStatement(String
an SQL statement that may contain one or more '?' IN
parameter placeholders sql)Implements java. PreparedStatement object for sending
parameterized SQL statements to the database.
|
| public PreparedStatement | prepareStatement(String
a sql, int String object that is the SQL statement to
be sent to the database; may contain one or more '?' IN
parametersa result set type; one of
resultSetType, int ResultSet.TYPE_FORWARD_ONLY,
ResultSet.TYPE_SCROLL_INSENSITIVE, or
ResultSet.TYPE_SCROLL_SENSITIVEa concurrency type; one of
resultSetConcurrency)ResultSet.CONCUR_READ_ONLY or
ResultSet.CONCUR_UPDATABLEImplements java. PreparedStatement object that will generate
ResultSet objects with the given type and concurrency.
|
| public PreparedStatement | prepareStatement(String
a sql, int String object that is the SQL statement to
be sent to the database; may contain one or more '?' IN
parametersone of the following resultSetType, int ResultSet
constants:
ResultSet.TYPE_FORWARD_ONLY,
ResultSet.TYPE_SCROLL_INSENSITIVE, or
ResultSet.TYPE_SCROLL_SENSITIVEone of the following resultSetConcurrency, int ResultSet
constants:
ResultSet.CONCUR_READ_ONLY or
ResultSet.CONCUR_UPDATABLEone of the following resultSetHoldability)ResultSet
constants:
ResultSet.HOLD_CURSORS_OVER_COMMIT or
ResultSet.CLOSE_CURSORS_AT_COMMITImplements java. PreparedStatement object that will generate
ResultSet objects with the given type, concurrency,
and holdability.
|
| public PreparedStatement | prepareStatement(String
an SQL statement that may contain one or more '?' IN
parameter placeholders sql, int a flag indicating whether auto-generated keys
should be returned; one of
autoGeneratedKeys)Statement.RETURN_GENERATED_KEYS or
Statement.NO_GENERATED_KEYSImplements java. PreparedStatement object that has
the capability to retrieve auto-generated keys.
|
| public PreparedStatement | prepareStatement(String
an SQL statement that may contain one or more '?' IN
parameter placeholders sql, int[] an array of column indexes indicating the columns
that should be returned from the inserted row or rows columnIndexes)Implements java. PreparedStatement object capable
of returning the auto-generated keys designated by the given array.
|
| public PreparedStatement | prepareStatement(String
an SQL statement that may contain one or more '?' IN
parameter placeholders sql, String[] an array of column names indicating the columns
that should be returned from the inserted row or rows columnNames)Implements java. PreparedStatement object capable
of returning the auto-generated keys designated by the given array.
|
| public void | releaseSavepoint(Savepoint
the savepoint)Savepoint object to be removedImplements java. Savepoint and subsequent Savepoint objects from the current
transaction.
|
| public void | rollback()
Implements java. Connection object.
|
| public void | rollback(Savepoint
the savepoint)Savepoint object to roll back toImplements java. Savepoint object
was set.
|
| public void | setAutoCommit(boolean
true to enable auto-commit mode;
false to disable itImplements java. |
| public void | setCatalog(String
the name of a catalog (subspace in this
catalog)Connection object's database) in which to workImplements java. Connection object's database
in which to work.
|
| public void | setClientInfo(String
The name of the client info property to set name, String The value to set the client info property to. If the
value is null, the current value of the specified
property is cleared. value)Implements java. |
| public void | setClientInfo(Properties
the list of client info properties to set properties)Implements java. |
| public void | setHoldability(int
a holdability)ResultSet holdability constant; one of
ResultSet.HOLD_CURSORS_OVER_COMMIT or
ResultSet.CLOSE_CURSORS_AT_COMMITImplements java. ResultSet objects
created using this Connection object to the given
holdability.
|
| public void | setReadOnly(boolean
true enables read-only mode;
false disables itImplements java. |
| public Savepoint | setSavepoint()
Implements java. Savepoint object that represents it.
|
| public Savepoint | setSavepoint(String
a name)String containing the name of the savepointImplements java. Savepoint object that represents it.
|
| public void | setTransactionIsolation(int
one of the following level)Connection constants:
Connection.TRANSACTION_READ_UNCOMMITTED,
Connection.TRANSACTION_READ_COMMITTED,
Connection.TRANSACTION_REPEATABLE_READ, or
Connection.TRANSACTION_SERIALIZABLE.
(Note that Connection.TRANSACTION_NONE cannot be used
because it specifies that transactions are not supported.)Implements java. Connection object to the one given.
|
| public void | setTypeMap(Map<String, Class<?>>
the map)java.util.Map object to install
as the replacement for this Connection
object's default type mapImplements java. TypeMap object as the type map for
this Connection object.
|
| public <T> T | unwrap(Class<T>
A Class defining an interface that the result must implement. iface)Implements java. |