public interface DbAdapter
Modifier and Type | Method and Description |
---|---|
void |
bindParameter(PreparedStatement statement,
Object object,
int pos,
int sqlType,
int scale)
Binds an object value to PreparedStatement's numbered parameter.
|
DbAttribute |
buildAttribute(String name,
String typeName,
int type,
int size,
int scale,
boolean allowNulls)
Creates and returns a DbAttribute based on supplied parameters (usually obtained
from database meta data).
|
String |
createFkConstraint(DbRelationship rel)
Returns a SQL string that can be used to create a foreign key constraint for the
relationship, or null if foreign keys are not supported.
|
String |
createTable(DbEntity entity)
Returns a SQL string that can be used to create database table corresponding to
entity parameter. |
void |
createTableAppendColumn(StringBuffer sqlBuffer,
DbAttribute column)
Append the column type part of a "create table" to the given
StringBuffer |
String |
createUniqueConstraint(DbEntity source,
Collection<DbAttribute> columns)
Returns a DDL string to create a unique constraint over a set of columns, or null
if the unique constraints are not supported.
|
Collection<String> |
dropTableStatements(DbEntity table)
Returns a collection of SQL statements needed to drop a database table.
|
String[] |
externalTypesForJdbcType(int type)
Returns an array of RDBMS types that can be used with JDBC
type . |
SQLAction |
getAction(Query query,
DataNode node)
Returns an instance of SQLAction that should handle the query.
|
String |
getBatchTerminator()
Returns a String used to terminate a batch in command-line tools.
|
ExtendedTypeMap |
getExtendedTypes()
Returns a map of ExtendedTypes that is used to translate values between Java and
JDBC layer.
|
PkGenerator |
getPkGenerator()
Returns primary key generator associated with this DbAdapter.
|
QualifierTranslator |
getQualifierTranslator(QueryAssembler queryAssembler) |
QuotingStrategy |
getQuotingStrategy(boolean needQuotes) |
MergerFactory |
mergerFactory() |
boolean |
supportsBatchUpdates()
Returns
true if the target database supports batch updates. |
boolean |
supportsGeneratedKeys()
Returns true if a target database supports key autogeneration.
|
boolean |
supportsUniqueConstraints()
Returns true if a target database supports UNIQUE constraints.
|
String |
tableTypeForTable()
Returns the name of the table type (as returned by
DatabaseMetaData.getTableTypes ) for a simple user table. |
String |
tableTypeForView()
Returns the name of the table type (as returned by
DatabaseMetaData.getTableTypes ) for a view table. |
boolean |
typeSupportsLength(int type)
Returns
true if supplied type can have a length attribute as a part of column
definition. |
String getBatchTerminator()
QualifierTranslator getQualifierTranslator(QueryAssembler queryAssembler)
SQLAction getAction(Query query, DataNode node)
boolean supportsUniqueConstraints()
boolean supportsGeneratedKeys()
boolean supportsBatchUpdates()
true
if the target database supports batch updates.boolean typeSupportsLength(int type)
true
if supplied type can have a length attribute as a part of column
definition.Collection<String> dropTableStatements(DbEntity table)
String createTable(DbEntity entity)
entity
parameter.String createUniqueConstraint(DbEntity source, Collection<DbAttribute> columns)
String createFkConstraint(DbRelationship rel)
String[] externalTypesForJdbcType(int type)
type
. Valid
JDBC types are defined in java.sql.Types.ExtendedTypeMap getExtendedTypes()
PkGenerator getPkGenerator()
DbAttribute buildAttribute(String name, String typeName, int type, int size, int scale, boolean allowNulls)
name
- database column nametypeName
- database specific type name, may be used as a hint to determine the
right JDBC type.type
- JDBC column typesize
- database column size (ignored if less than zero)scale
- database column scale, i.e. the number of decimal digits (ignored if
less than zero)allowNulls
- database column nullable parametervoid bindParameter(PreparedStatement statement, Object object, int pos, int sqlType, int scale) throws SQLException, Exception
SQLException
Exception
String tableTypeForTable()
DatabaseMetaData.getTableTypes
) for a simple user table.String tableTypeForView()
DatabaseMetaData.getTableTypes
) for a view table.MergerFactory mergerFactory()
void createTableAppendColumn(StringBuffer sqlBuffer, DbAttribute column)
StringBuffer
sqlBuffer
- the StringBuffer
to append the column type tocolumn
- the DbAttribute
defining the column to append type forQuotingStrategy getQuotingStrategy(boolean needQuotes)
Copyright © 2001–2018 Apache Cayenne. All rights reserved.