public interface Dialect
| 限定符和类型 | 字段和说明 |
|---|---|
static int |
DISABLE_FOREIGN_KEY_CHECKS |
static int |
ENABLE_FOREIGN_KEY_CHECKS |
| 限定符和类型 | 方法和说明 |
|---|---|
java.lang.String |
buildForeignKeyString(java.lang.String constraintName,
java.lang.String[] foreignKey,
java.lang.String referencedTable,
java.lang.String[] primaryKey,
boolean referencesPrimaryKey)
返回建立外键的语句
|
SQLTypeHandlerFactory |
buildSQLTypeHandlerFactory()
SQL生成工厂
|
java.lang.String |
cascadeDeletePosition(boolean delCascade,
boolean isSupportsCascadeDelete,
java.lang.StringBuffer buf)
数据库联动删除关键字的位置
|
java.lang.String |
column2SQL(java.lang.String columnName)
将列名转化为特定数据库下的名字
|
java.lang.String |
column2SQL4WhereSQL(java.lang.String string,
int type)
生成where条件时将列名转化为特定数据库下的名字
|
java.lang.StringBuffer |
columnInit(java.lang.StringBuffer columnSQL,
Column column)
数据库字段初始化是否可以允许有默认NULL
|
java.lang.String |
columnType2SQL(int columnType,
java.lang.String columnSize)
将列类型转化成特定数据库的的列类型
|
java.sql.ResultSet |
createLimitResultSet(Connection database,
java.sql.Connection conn,
java.sql.Statement stmt,
java.lang.String[] fieldNames,
java.lang.String schema,
java.lang.String tableName,
java.lang.String dbLink,
long startRow)
创建指定行到指定行的游标
FIXME Sqlserver 等 endRow 是没有效果的
|
java.lang.String |
createLimitSQL(java.lang.String sql,
java.lang.String[] fieldNames,
long startRow)
创建指定行的SQL
|
java.sql.Statement |
createLimitUseStatement(java.sql.Connection conn)
写在这里是为了可以在下面方法执行完毕之后释放
|
java.lang.String |
createSequence(java.sql.Connection conn,
java.lang.String tableName,
java.lang.String columnName,
java.lang.String columnType)
根据指定的数据库连接、表、列名以及列类型生成自增长SQL
|
java.lang.String |
createSQL4Columns(java.lang.String query) |
java.sql.Statement |
createStatement(java.sql.Connection connection,
java.lang.String sql)
创建数据库声明
|
void |
createTriggerForSequenceParameter(java.sql.Connection cn,
java.lang.String tableName,
java.lang.String columnName)
为自增长数据库创建trigger
|
java.lang.String |
defaultValidationQuery(java.sql.Connection conn)
错误时候默认的查询语句
|
<R> R |
execute(DialectResultKey<DialectEmptyParameter,R> key)
无参数无异常有返回的方法
|
<E extends DialectParameter,R> |
execute(DialectResultKey<E,R> key,
E parameter)
无异常有返回的方法
|
<R,ET extends java.lang.Throwable> |
execute(DialectResultWithExceptionKey<DialectEmptyParameter,R,ET> key)
无参数有异常有返回的方法
|
<E extends DialectParameter,R,ET extends java.lang.Throwable> |
execute(DialectResultWithExceptionKey<E,R,ET> key,
E parameter)
有异常有返回的方法
|
void |
execute(DialectVoidKey<DialectEmptyParameter> key)
无参数无异常无返回的方法
|
<E extends DialectParameter> |
execute(DialectVoidKey<E> key,
E parameter)
无异常无返回的方法
|
<T extends java.lang.Throwable> |
execute(DialectVoidWithExceptionKey<DialectEmptyParameter,T> key)
无参数有异常无返回的方法
|
<E extends DialectParameter,T extends java.lang.Throwable> |
execute(DialectVoidWithExceptionKey<E,T> key,
E parameter)
有异常无返回的方法
|
java.sql.ResultSet |
executeQuery(java.sql.Statement statement,
java.lang.String sql,
java.sql.Connection connection)
执行sql语句
|
TableProcedure[] |
getAllTableProcedure(Connection database,
java.lang.String type)
获取所有表信息
|
ColumnInformation[] |
getColumnInformation(java.sql.Connection connection,
java.sql.ResultSet rs,
java.lang.String sql,
java.lang.String oriCharsetName,
java.lang.String newCharsetName)
获取列信息
|
java.lang.String |
getCountSql(java.lang.String sql)
查询数据条数的SQL
|
int |
getFetchSize()
批处理时一次处理的数目,处理该数目的数据时性能最优
|
java.lang.String |
getIdentitySelectString(java.lang.String table,
java.lang.String column,
int type)
获取一个select语句用于检索最后为某个特殊的表生成的标记
|
java.lang.String |
getLimitString(java.lang.String query,
int offset,
int limit)
生成限制查询的SQL
|
TableProcedure[] |
getProcedureList(java.sql.Connection connection,
java.lang.String catalog,
java.lang.String schema,
boolean isOracleSysSpace)
根据指定的数据库连接和模式获取存储过程表
|
java.lang.String |
getRowRangeSql(java.lang.String sql,
int start,
int end,
java.lang.String[] cols)
获取从start行到row行的数据
|
java.lang.String[] |
getSchemas(java.sql.Connection conn)
通过数据库连接获取数据库的模式
|
java.lang.String |
getSpecificRowSql(java.lang.String sql,
int row)
获取第row行的数据
|
StoreProcedureParameter[] |
getStoreProcedureDeclarationParameters(java.sql.Connection conn,
java.lang.String name,
java.lang.String parameterDefaultValue)
获取存储过程的参数信息
|
java.lang.String |
getStoreProcedureText(java.sql.Connection conn,
java.lang.String name,
java.lang.String charSetName)
存储过程的内容
|
java.lang.String |
getTableCommentName(java.sql.Connection conn,
java.lang.String tableName,
java.lang.String schema,
java.lang.String dbLink)
获取表的注释内容
|
java.util.List<java.util.Map<java.lang.String,java.lang.Object>> |
getTableFieldsInfor(java.sql.Connection conn,
java.lang.String tableName,
java.lang.String schema,
java.lang.String dbLink) |
java.util.List<FieldMessage> |
getTableFieldsMessage(java.sql.Connection conn,
java.lang.String tableName,
java.lang.String schema,
java.lang.String dbLink)
获取表字段信息
|
TableProcedure[] |
getTableProcedure(Connection database,
java.sql.Connection connection,
java.lang.String schema,
boolean b)
根据指定的数据库连接和模式获取数据库表
|
TableProcedure[] |
getTableProcedure(java.sql.Connection connection,
java.lang.String schema,
boolean b)
根据指定的数据库连接和模式获取数据库表
|
java.lang.String |
getTopNRowSql(int rowCount,
Table table)
返回最前面rowCount行的数据
|
void |
initTables(JDBCDataAccessObjectOperator manager,
java.sql.Connection cn,
ObjectMappingTable[] tableObj)
初始化数据表
|
boolean |
isNULL(java.lang.Object object)
判断字段值是否为空
|
boolean |
isSupportFetchText()
是否支持获取参数
|
boolean |
isSupportQueryWhileInsert(int insertCount)
是否不支持插入操作事务时进行查询事务
|
boolean |
isUniqueViolationException(java.sql.SQLException se)
SQL异常是否是检查出违反唯一约束时的异常
|
boolean |
isYearData(java.sql.Connection conn,
int type,
Table table,
java.lang.String columnName)
已过时。
方法已弃用,永远返回false,
是否为年类型的判断逻辑已转移到com.fr.data.core.db.dialect.base.key.fetchcolumninformation.MysqlFetchColumnInformationExecutor
|
void |
notifyTriggerChange(java.sql.Connection cn,
Table table,
TriggerAction action)
触发器状态改变
|
java.lang.Object |
parseValue(java.lang.Object value,
int type)
数据库中的值转换成field中的值
|
java.lang.String |
quartzDelegateClass()
返回定时器代理
|
java.lang.String |
quartzDelegateKey()
返回定时器代理的key
|
java.lang.Object[] |
remoteProcedureCall(java.sql.Connection connection,
java.lang.String query)
RPC: 远程存储过程调用
|
void |
setAutoCommit(java.sql.Connection conn,
boolean autoCommit)
设置该数据库连接下是否可以自动提交
|
void |
setForeignKeyChecks(java.sql.Connection conn,
int keyChecks)
设置外键约束
|
boolean |
supportsCascadeDelete()
是否支持串联删除
|
boolean |
supportsLimitOffset(java.lang.String originalQuery)
是否支持限制查询
|
boolean |
supportsUniqueConstraintInCreateAlterTable()
该数据库在添加和修改表的时候是否支持添加特定的约束
|
boolean |
supportsUniqueViolationExceptionCheck()
该数据库是否支持检查违反唯一约束
|
java.lang.String |
table2SQL(Table table)
将表转化成SQL语句
|
void |
updateForeignKey(java.sql.Connection connection,
java.util.List<ForeignKey> foreignKeyList,
Table table,
boolean newTable)
更新外键的实现
|
static final int DISABLE_FOREIGN_KEY_CHECKS
static final int ENABLE_FOREIGN_KEY_CHECKS
void initTables(JDBCDataAccessObjectOperator manager, java.sql.Connection cn, ObjectMappingTable[] tableObj) throws java.lang.Exception
manager - 数据连接操作cn - 连接tableObj - 表信息java.lang.Exceptionjava.lang.StringBuffer columnInit(java.lang.StringBuffer columnSQL,
Column column)
columnSQL - 字段sqlcolumn - 字段java.lang.String cascadeDeletePosition(boolean delCascade,
boolean isSupportsCascadeDelete,
java.lang.StringBuffer buf)
delCascade - 是否支持串联删除isSupportsCascadeDelete - 方言buf - 语句部分int getFetchSize()
java.lang.String column2SQL(java.lang.String columnName)
columnName - 列名java.lang.String column2SQL4WhereSQL(java.lang.String string,
int type)
string - 列名type - 类型java.lang.String columnType2SQL(int columnType,
java.lang.String columnSize)
columnType - 列类型columnSize - 列大小java.lang.String table2SQL(Table table)
table - 要转化的表java.lang.String[] getSchemas(java.sql.Connection conn)
throws java.lang.Exception
conn - 数据库连接java.lang.ExceptionTableProcedure[] getTableProcedure(java.sql.Connection connection, java.lang.String schema, boolean b) throws java.lang.Exception
connection - 数据库连接schema - 模式b - oracle是否显示所有表java.lang.ExceptionTableProcedure[] getTableProcedure(Connection database, java.sql.Connection connection, java.lang.String schema, boolean b) throws java.lang.Exception
database - 报表数据连接connection - 数据库连接schema - 模式b - oracle是否显示所有表java.lang.ExceptionTableProcedure[] getProcedureList(java.sql.Connection connection, java.lang.String catalog, java.lang.String schema, boolean isOracleSysSpace)
connection - 数据库连接catalog - 包名schema - 模式java.lang.String createSequence(java.sql.Connection conn,
java.lang.String tableName,
java.lang.String columnName,
java.lang.String columnType)
conn - 数据库连接tableName - 表名columnName - 列名columnType - 列类型void createTriggerForSequenceParameter(java.sql.Connection cn,
java.lang.String tableName,
java.lang.String columnName)
cn - tableName - columnName - java.lang.String getIdentitySelectString(java.lang.String table,
java.lang.String column,
int type)
throws java.lang.Exception
table - 表名column - 列type - 字段类型java.lang.Exceptionvoid setAutoCommit(java.sql.Connection conn,
boolean autoCommit)
throws java.sql.SQLException
conn - 数据库连接autoCommit - true表示可以自定提交,false表示不自动提交java.sql.SQLExceptionboolean supportsLimitOffset(java.lang.String originalQuery)
originalQuery - java.lang.String getLimitString(java.lang.String query,
int offset,
int limit)
query - 原始的SQLoffset - 起始位置limit - 限制值java.lang.String getCountSql(java.lang.String sql)
sql - 需要被查询的数据boolean isYearData(java.sql.Connection conn,
int type,
Table table,
java.lang.String columnName)
conn - 数据库连接type - 列字段类型table - 数据库表columnName - 列名java.lang.String quartzDelegateClass()
java.lang.String quartzDelegateKey()
java.lang.String defaultValidationQuery(java.sql.Connection conn)
conn - 数据库连接StoreProcedureParameter[] getStoreProcedureDeclarationParameters(java.sql.Connection conn, java.lang.String name, java.lang.String parameterDefaultValue)
conn - 数据库连接name - 数据库表名SQLTypeHandlerFactory buildSQLTypeHandlerFactory()
boolean supportsCascadeDelete()
java.lang.String buildForeignKeyString(java.lang.String constraintName,
java.lang.String[] foreignKey,
java.lang.String referencedTable,
java.lang.String[] primaryKey,
boolean referencesPrimaryKey)
constraintName - 约束字段名foreignKey - 列名referencedTable - 外键表名primaryKey - 主键referencesPrimaryKey - 是否引用主键void updateForeignKey(java.sql.Connection connection,
java.util.List<ForeignKey> foreignKeyList,
Table table,
boolean newTable)
connection· - foreignKeyList - newTable - boolean supportsUniqueConstraintInCreateAlterTable()
boolean supportsUniqueViolationExceptionCheck()
boolean isUniqueViolationException(java.sql.SQLException se)
se - SQL异常java.lang.String getStoreProcedureText(java.sql.Connection conn,
java.lang.String name,
java.lang.String charSetName)
conn - 数据库连接name - 数据库表名charSetName - 字符集boolean isSupportFetchText()
java.lang.Object parseValue(java.lang.Object value,
int type)
value - 值type - 值的类型java.lang.String getTableCommentName(java.sql.Connection conn,
java.lang.String tableName,
java.lang.String schema,
java.lang.String dbLink)
conn - tableName - schema - java.util.List<FieldMessage> getTableFieldsMessage(java.sql.Connection conn, java.lang.String tableName, java.lang.String schema, java.lang.String dbLink)
conn - tableName - schema - java.util.List<java.util.Map<java.lang.String,java.lang.Object>> getTableFieldsInfor(java.sql.Connection conn,
java.lang.String tableName,
java.lang.String schema,
java.lang.String dbLink)
conn - tableName - schema - dbLink - java.sql.Statement createLimitUseStatement(java.sql.Connection conn)
throws java.sql.SQLException
conn - 数据连接java.sql.SQLExceptionjava.sql.ResultSet createLimitResultSet(Connection database, java.sql.Connection conn, java.sql.Statement stmt, java.lang.String[] fieldNames, java.lang.String schema, java.lang.String tableName, java.lang.String dbLink, long startRow) throws java.sql.SQLException
database - 数据连接conn - 连接stmt - 语句fieldNames - 字段名字schema - 模式tableName - 表名dbLink - 连接startRow - 开始行java.sql.SQLExceptionjava.lang.String createLimitSQL(java.lang.String sql,
java.lang.String[] fieldNames,
long startRow)
throws javax.transaction.NotSupportedException
sql - sql语句fieldNames - 字段名startRow - 开始行javax.transaction.NotSupportedExceptionjava.lang.String getSpecificRowSql(java.lang.String sql,
int row)
sql - sql语句row - 行java.lang.String getRowRangeSql(java.lang.String sql,
int start,
int end,
java.lang.String[] cols)
sql - sql语句start - 开始行end - 结束行java.lang.String getTopNRowSql(int rowCount,
Table table)
throws javax.transaction.NotSupportedException
rowCount - 行数table - 表名javax.transaction.NotSupportedException - 异常boolean isSupportQueryWhileInsert(int insertCount)
insertCount - 插入行数ColumnInformation[] getColumnInformation(java.sql.Connection connection, java.sql.ResultSet rs, java.lang.String sql, java.lang.String oriCharsetName, java.lang.String newCharsetName) throws java.sql.SQLException
connection - 数据库连接rs - 结果集oriCharsetName - 原始编码newCharsetName - 结果编码java.sql.SQLException - 执行出错则抛出此异常void setForeignKeyChecks(java.sql.Connection conn,
int keyChecks)
conn - 数据连接keyChecks - 外键约束
DISABLE_FOREIGN_KEY_CHECKS 表示取消, ENABLE_FOREIGN_KEY_CHECKS 表示需要java.lang.String createSQL4Columns(java.lang.String query)
query - TableProcedure[] getAllTableProcedure(Connection database, java.lang.String type)
java.sql.Statement createStatement(java.sql.Connection connection,
java.lang.String sql)
throws java.sql.SQLException
connection - 连接sql - sql语句java.sql.SQLExceptionjava.sql.ResultSet executeQuery(java.sql.Statement statement,
java.lang.String sql,
java.sql.Connection connection)
throws java.sql.SQLException
sql - 数据库语句statement - 声明connection - 数据连接java.sql.SQLExceptionboolean isNULL(java.lang.Object object)
object - 字段值void notifyTriggerChange(java.sql.Connection cn,
Table table,
TriggerAction action)
cn - 数据连接操作table - 表Exception\java.lang.Object[] remoteProcedureCall(java.sql.Connection connection,
java.lang.String query)
throws java.sql.SQLException
connection - 数据连接query - SQL语句java.sql.SQLException<E extends DialectParameter> void execute(DialectVoidKey<E> key, E parameter)
E - key - parameter - <E extends DialectParameter,T extends java.lang.Throwable> void execute(DialectVoidWithExceptionKey<E,T> key, E parameter) throws T extends java.lang.Throwable
E - key - parameter - T extends java.lang.Throwable<E extends DialectParameter,R> R execute(DialectResultKey<E,R> key, E parameter)
E - key - parameter - <E extends DialectParameter,R,ET extends java.lang.Throwable> R execute(DialectResultWithExceptionKey<E,R,ET> key, E parameter) throws ET extends java.lang.Throwable
E - key - parameter - ET extends java.lang.Throwablevoid execute(DialectVoidKey<DialectEmptyParameter> key)
key - <T extends java.lang.Throwable> void execute(DialectVoidWithExceptionKey<DialectEmptyParameter,T> key) throws T extends java.lang.Throwable
key - T extends java.lang.Throwable<R> R execute(DialectResultKey<DialectEmptyParameter,R> key)
key - <R,ET extends java.lang.Throwable> R execute(DialectResultWithExceptionKey<DialectEmptyParameter,R,ET> key) throws ET extends java.lang.Throwable
key - ET extends java.lang.Throwable