java.lang.Object
org.litebridge.db.spi.impl.AbstractDatabaseProvider
org.litebridge.db.oracle.OracleDatabaseProvider
- All Implemented Interfaces:
DatabaseProvider
Oracle Database Provider for Litebridge.
OracleDatabaseProvider is a concrete implementation of AbstractDatabaseProvider
designed to facilitate interactions with an Oracle database.
It uses a DefaultTypeConverter for handling type conversions between
database values and Java data types.
-
Field Summary
Fields inherited from class org.litebridge.db.spi.impl.AbstractDatabaseProvider
columnIdentifierGenerator, deleteSqlGenerator, insertSqlGenerator, selectSqlGenerator, typeConverter, updateSqlGenerator -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a newOracleDatabaseProviderusing a default type converter. -
Method Summary
Modifier and TypeMethodDescriptionprotected ColumnIdentifierGeneratorCreate aColumnIdentifierGeneratorinstance for the database provider.protected SelectSqlGeneratorCreate aSelectSqlGeneratorinstance for the database provider.protected SqlFunctionRegistryFactoryCreate aSqlFunctionRegistryFactoryinstance for the generation of a SQL function registry.protected Map<ColumnMetaData, Object> extractGeneratedKeys(TableMetaData tableMetaData, PreparedStatement preparedStatement) Extract the generated primary key values from the provided prepared statement.protected org.slf4j.LoggerReturn the logger instance for this database provider.getSequenceColumnValueGenerator(String sequence) Retrieves aSequenceColumnValueGeneratorinstance for generating SQL fragments that fetch the next value from a specified database sequence.Methods inherited from class org.litebridge.db.spi.impl.AbstractDatabaseProvider
createAliasTransformer, createDeleteSqlGenerator, createInsertSqlGenerator, createPreparedStatementUsingConnection, createUpdateSqlGenerator, delete, ensureTableMetaData, executeSqlInsert, executeSqlUpdate, fetchTableMetaData, getAliasTransformer, getColumnMetaData, getGeneratedPrimaryKeyColumns, getPrimaryKeyColumnNames, getSqlFunctionRegistry, getTypeConverter, insert, nativeSqlQuery, nativeSqlUpdate, prepareNativeStatement, prepareStatement, select, tableMetaData, toSql, update, verifySchemaAndTableExists
-
Constructor Details
-
OracleDatabaseProvider
public OracleDatabaseProvider()Constructs a newOracleDatabaseProviderusing a default type converter.
-
-
Method Details
-
getSequenceColumnValueGenerator
public SequenceColumnValueGenerator getSequenceColumnValueGenerator(String sequence) throws UnsupportedOperationException Description copied from interface:DatabaseProviderRetrieves aSequenceColumnValueGeneratorinstance for generating SQL fragments that fetch the next value from a specified database sequence. This is typically used in SQL statements such as INSERT or UPDATE to generate unique values from a sequence.- Specified by:
getSequenceColumnValueGeneratorin interfaceDatabaseProvider- Overrides:
getSequenceColumnValueGeneratorin classAbstractDatabaseProvider- Parameters:
sequence- the name of the database sequence from which the values will be generated. It is used to create the SQL fragment to retrieve the next value in the sequence.- Returns:
- a
SequenceColumnValueGeneratorinstance that generates SQL fragments for retrieving sequence values. - Throws:
UnsupportedOperationException- if the database provider does not support sequence-based value generation.
-
createColumnIdentifierGenerator
Description copied from class:AbstractDatabaseProviderCreate aColumnIdentifierGeneratorinstance for the database provider.- Overrides:
createColumnIdentifierGeneratorin classAbstractDatabaseProvider- Returns:
- a
ColumnIdentifierGeneratorinstance
-
createSqlFunctionRegistryFactory
Description copied from class:AbstractDatabaseProviderCreate aSqlFunctionRegistryFactoryinstance for the generation of a SQL function registry.This method may be overridden to provide a custom
SqlFunctionRegistryFactoryinstance, allowing overriding/disabling of specific SQL functions.- Overrides:
createSqlFunctionRegistryFactoryin classAbstractDatabaseProvider- Returns:
- a
SqlFunctionRegistryFactoryimplementation instance
-
createSelectSqlGenerator
Description copied from class:AbstractDatabaseProviderCreate aSelectSqlGeneratorinstance for the database provider.- Overrides:
createSelectSqlGeneratorin classAbstractDatabaseProvider- Returns:
- a
SelectSqlGeneratorinstance
-
extractGeneratedKeys
protected Map<ColumnMetaData,Object> extractGeneratedKeys(TableMetaData tableMetaData, PreparedStatement preparedStatement) throws SQLException Description copied from class:AbstractDatabaseProviderExtract the generated primary key values from the provided prepared statement.- Overrides:
extractGeneratedKeysin classAbstractDatabaseProvider- Parameters:
tableMetaData- theTableMetaDataobject containing the metadata of the target tablepreparedStatement- the executedPreparedStatementcontaining any generated keys- Returns:
- a map of
ColumnMetaDatato the generated key value - Throws:
SQLException- if an error occurs while retrieving the generated keys
-
getLogger
protected org.slf4j.Logger getLogger()Description copied from class:AbstractDatabaseProviderReturn the logger instance for this database provider.- Overrides:
getLoggerin classAbstractDatabaseProvider- Returns:
- the logger instance
-