The driver used by JDBCDataStore to directly communicate with the database.
This class encapsulates all the database specific operations that JDBCDataStore needs to function. It is implemented on a per-database basis.
Type Mapping
One of the jobs of a dialect is to map sql types to java types and vice versa. This abstract implementation provides default mappings for "primitive" java types. The following mappings are provided. A '*' denotes that the mapping is the default java to sql mapping as well.
- VARCHAR -> String
- CHAR -> String
- LONGVARCHAR -> String
- BIT -> Boolean
- BOOLEAN -> Boolean
- SMALLINT -> Short
- TINYINT -> Short
- INTEGER -> Integer
- BIGINT -> Long
- REAL -> Float
- DOUBLE -> Double
- FLOAT -> Double
- NUMERIC -> BigDecimal
- DECIMAL -> BigDecimal
- DATE -> java.sql.Date
- TIME -> java.sql.Time
- TIMESTAMP -> java.sql.Timestmap
Subclasses should
extend (not override) the following methods to configure the mappings:
- {@link #registerSqlTypeToClassMappings(Map)}
- {@link #registerSqlTypeNameToClassMappings(Map)}
- {@link #registerClassToSqlMappings(Map)}
This class is intended to be stateless, therefore subclasses should not maintain any internal state. If for some reason a subclass must keep some state around (not recommended), it must ensure that the state is accessed in a thread safe manner.
@author Justin Deoliveira, The Open Planning Project
@source $URL$