- All Known Implementing Classes:
AbstractDatabaseProvider,H2DatabaseProvider,OracleDatabaseProvider,TransactionalDatabaseProvider
public interface DatabaseProvider
Main interface for interacting with a database.
This interface defines the operations for retrieving metadata, executing SQL queries, and managing data within a specific database backend.
-
Method Summary
Modifier and TypeMethodDescriptiondelete(Delete delete, ConnectionProvider connectionProvider) Retrieve theTypeConverterinstance associated with the database provider.insert(Insert insert, ConnectionProvider connectionProvider) Execute an INSERT operation in the database using the providedInsertstatement.select(Select select, ConnectionProvider connectionProvider) Execute a SELECT operation in the database using the providedSelectstatement.tableMetaData(Table table, ConnectionProvider connectionProvider) Retrieve metadata for the specified table.update(Update update, ConnectionProvider connectionProvider) Execute an UPDATE operation in the database using the providedUpdatestatement.
-
Method Details
-
tableMetaData
Retrieve metadata for the specified table.- Parameters:
table- theTableobject representing the table for which metadata is to be retrieved.connectionProvider- theConnectionProviderused to get a database connection.- Returns:
- a
TableMetaDataobject containing metadata information about the specified table, including its columns, primary key, and other details. - Throws:
SQLException- if any SQL error occurs while retrieving the metadata.
-
insert
Execute an INSERT operation in the database using the providedInsertstatement.- Parameters:
insert- theInsertstatement containing the table, columns, and rows to insert.connectionProvider- theConnectionProviderused to get a database connection.- Returns:
- an
InsertResultcontaining the number of rows affected and any generated keys. - Throws:
SQLException- if any SQL error occurs during the execution of the insert operation.
-
update
Execute an UPDATE operation in the database using the providedUpdatestatement.- Parameters:
update- theUpdatestatement containing the table, columns, and rows to update.connectionProvider- theConnectionProviderused to get a database connection.- Returns:
- an
UpdateResultcontaining the number of rows affected. - Throws:
SQLException- if any SQL error occurs during the execution of the update operation.
-
select
Execute a SELECT operation in the database using the providedSelectstatement.- Parameters:
select- theSelectstatement containing information about the table, columns, joins, conditions, ordering, and optional limits for the query.connectionProvider- theConnectionProviderused to get a database connection.- Returns:
- a
ListofRowobjects representing the results of the SELECT operation. - Throws:
SQLException- if any SQL error occurs during the execution of the SELECT operation.
-
delete
- Throws:
SQLException
-
toSql
-
getTypeConverter
TypeConverter getTypeConverter()Retrieve theTypeConverterinstance associated with the database provider.The
TypeConverteris used for converting objects between different types, typically for database data type conversions and mapping domain-specific representations.- Returns:
- the
TypeConverterinstance for handling data type conversions
-