Package com.querydsl.sql
Class Configuration
java.lang.Object
com.querydsl.sql.Configuration
Configuration for SQLQuery instances
- Author:
- tiwe
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddListener(SQLListener listener) Add a listenerGet the literal representation of the given constant<T> TGet the value at the given index from the result setgetColumnOverride(SchemaAndTable key, String column) Get the column overrideClass<?>getJavaType(int sqlType, String typeName, int size, int digits, String tableName, String columnName) Get the java type for the given jdbc type, table name and column nameGet the registered listener@Nullable SchemaAndTableGet the schema/table overridegetTypeName(Class<?> type) Get the SQL type name for the given java typegetTypeNameForCast(Class<?> type) Get the SQL type name for a cast operationbooleanGet whether literals are serialized or prepared statement bindings are usedvoidRegister the givenTypeconvertervoidRegister the givenTypeconverter for the given table and columnvoidRegister the given javaType for the given table and columnregisterColumnOverride(String table, String oldColumn, String newColumn) Deprecated.registerColumnOverride(String schema, String table, String oldColumn, String newColumn) Deprecated.UsesetDynamicNameMapping(NameMapping)instead.voidregisterNumeric(int beginTotal, int endTotal, int beginDecimal, int endDecimal, Class<?> javaType) Override multiple numeric bindings, both begin and end are inclusivevoidregisterNumeric(int total, int decimal, Class<?> javaType) Override the binding for the given NUMERIC typeregisterSchemaOverride(String oldSchema, String newSchema) Deprecated.UsesetDynamicNameMapping(NameMapping)instead.Deprecated.UsesetDynamicNameMapping(NameMapping)instead.registerTableOverride(String oldTable, String newTable) Deprecated.UsesetDynamicNameMapping(NameMapping)instead.registerTableOverride(String schema, String oldTable, String newTable) Deprecated.UsesetDynamicNameMapping(NameMapping)instead.registerTableOverride(String schema, String oldTable, String newSchema, String newTable) Deprecated.UsesetDynamicNameMapping(NameMapping)instead.voidregisterType(String typeName, Class<?> clazz) Register a typeName to Class mapping<T> voidset(PreparedStatement stmt, Path<?> path, int i, T value) Set the value at the given index in the statementvoidsetDynamicNameMapping(NameMapping nameMapping) Programmers can specify name mappings by implementing theNameMappinginterface.voidsetExceptionTranslator(SQLExceptionTranslator exceptionTranslator) Set the exception translatorvoidsetTemplates(SQLTemplates templates) Set the templates to use for serializationvoidsetUseLiterals(boolean useLiterals) Set whether literals are used in SQL strings instead of parameter bindings (default: false)translate(String sql, List<Object> bindings, SQLException ex) Translate the given SQLExceptionTranslate the given SQLException
-
Constructor Details
-
Configuration
Create a new Configuration instance- Parameters:
templates- templates for SQL serialization
-
-
Method Details
-
asLiteral
Get the literal representation of the given constant- Parameters:
o- object- Returns:
- literal representation
-
getTemplates
-
getJavaType
public Class<?> getJavaType(int sqlType, String typeName, int size, int digits, String tableName, String columnName) Get the java type for the given jdbc type, table name and column name- Parameters:
sqlType- JDBC typetypeName- JDBC type namesize- sizedigits- digitstableName- table namecolumnName- column name- Returns:
- Java type
-
get
@Nullable public <T> T get(ResultSet rs, @Nullable @Nullable Path<?> path, int i, Class<T> clazz) throws SQLException Get the value at the given index from the result set- Type Parameters:
T- type to return- Parameters:
rs- result setpath- pathi- one based index in result set rowclazz- type- Returns:
- value
- Throws:
SQLException
-
getOverride
Get the schema/table override- Parameters:
key- schema and table- Returns:
- overridden schema and table
-
getColumnOverride
Get the column override- Parameters:
key- schema and tablecolumn- column- Returns:
- overridden column
-
setDynamicNameMapping
Programmers can specify name mappings by implementing theNameMappinginterface. The mapping rules that are specified by this property are checked if no mapping is specified by any of theregister*Overridefunctions.- Parameters:
nameMapping- The name mapping that is implemented by the user.
-
set
Set the value at the given index in the statement- Type Parameters:
T-- Parameters:
stmt- statementpath- pathi- one based index in statementvalue- value to bind- Throws:
SQLException
-
getTypeName
Get the SQL type name for the given java type- Parameters:
type- java type- Returns:
- SQL type name
-
getTypeNameForCast
Get the SQL type name for a cast operation- Parameters:
type- java type- Returns:
- SQL type name
-
registerSchemaOverride
Deprecated.UsesetDynamicNameMapping(NameMapping)instead.Register a schema override- Parameters:
oldSchema- schema to overridenewSchema- override- Returns:
- previous override value
-
registerTableOverride
Deprecated.UsesetDynamicNameMapping(NameMapping)instead.Register a table override- Parameters:
oldTable- table to overridenewTable- override- Returns:
- previous override value
-
registerTableOverride
Deprecated.UsesetDynamicNameMapping(NameMapping)instead.Register a schema specific table override- Parameters:
schema- schema of tableoldTable- table to overridenewTable- override- Returns:
- previous override value
-
registerTableOverride
@Deprecated public SchemaAndTable registerTableOverride(String schema, String oldTable, String newSchema, String newTable) Deprecated.UsesetDynamicNameMapping(NameMapping)instead.Register a schema specific table override- Parameters:
schema- schema of tableoldTable- table to overridenewSchema- override schemanewTable- override table- Returns:
- previous override value
-
registerTableOverride
Deprecated.UsesetDynamicNameMapping(NameMapping)instead.Register a schema specific table override- Parameters:
from- schema and table to overrideto- override- Returns:
- previous override
-
registerColumnOverride
@Deprecated public String registerColumnOverride(String schema, String table, String oldColumn, String newColumn) Deprecated.UsesetDynamicNameMapping(NameMapping)instead.Register a column override- Parameters:
schema- schematable- tableoldColumn- columnnewColumn- override- Returns:
- previous override
-
registerColumnOverride
Deprecated.UsesetDynamicNameMapping(NameMapping)instead.Register a column override- Parameters:
table- tableoldColumn- columnnewColumn- override- Returns:
- previous override
-
register
Register the givenTypeconverter- Parameters:
type- type
-
registerType
Register a typeName to Class mapping- Parameters:
typeName- SQL type nameclazz- java type
-
registerNumeric
Override the binding for the given NUMERIC type- Parameters:
total- total amount of digitsdecimal- amount of fractional digitsjavaType- java type
-
registerNumeric
public void registerNumeric(int beginTotal, int endTotal, int beginDecimal, int endDecimal, Class<?> javaType) Override multiple numeric bindings, both begin and end are inclusive- Parameters:
beginTotal- inclusive start of rangeendTotal- inclusive end of rangebeginDecimal- inclusive start of rangeendDecimal- inclusive end of rangejavaType- java type
-
register
Register the given javaType for the given table and column- Parameters:
table- tablecolumn- columnjavaType- java type
-
register
Register the givenTypeconverter for the given table and column- Parameters:
table- tablecolumn- columntype- type
-
translate
Translate the given SQLException- Parameters:
ex- SQLException to translate- Returns:
- translated exception
-
translate
Translate the given SQLException- Parameters:
sql- SQL stringbindings- bindingsex- SQLException to translate- Returns:
- translated exception
-
addListener
Add a listener- Parameters:
listener- listener
-
getListeners
Get the registered listener- Returns:
- listeners as single listener instance
-
getUseLiterals
public boolean getUseLiterals()Get whether literals are serialized or prepared statement bindings are used- Returns:
- true for literals and false for bindings
-
setUseLiterals
public void setUseLiterals(boolean useLiterals) Set whether literals are used in SQL strings instead of parameter bindings (default: false)Warning: When literals are used, prepared statement won't have any parameter bindings and also batch statements will only be simulated, but not executed as actual batch statements.
- Parameters:
useLiterals- true for literals and false for bindings
-
setExceptionTranslator
Set the exception translator- Parameters:
exceptionTranslator- exception translator
-
setTemplates
Set the templates to use for serialization- Parameters:
templates- templates
-
setDynamicNameMapping(NameMapping)instead.