public class DefaultDialect extends AbstractDialect
DISABLE_FOREIGN_KEY_CHECKS, ENABLE_FOREIGN_KEY_CHECKS| 构造器和说明 |
|---|
DefaultDialect() |
| 限定符和类型 | 方法和说明 |
|---|---|
java.lang.String |
buildForeignKeyString(java.lang.String constraintName,
java.lang.String[] foreignKey,
java.lang.String referencedTable,
java.lang.String[] primaryKey,
boolean referencesPrimaryKey)
daniel:冤枉啊 这里不是我写的 不敢乱改啊!
|
SQLTypeHandlerFactory |
buildSQLTypeHandlerFactory()
构建SQLTypeHandler工厂
|
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 columnName,
int i)
生成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)
获取列信息的sql
|
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)
错误时候默认的查询语句
|
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[] tableObjs)
数据库字段初始化是否可以允许有默认NULL
|
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 name)
已过时。
|
void |
notifyTriggerChange(java.sql.Connection cn,
Table table,
TriggerAction action)
触发器状态改变
|
java.lang.Object |
parseValue(java.lang.Object value,
int type)
按照类型转换数据
|
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)
更新外键的实现
|
execute, execute, execute, execute, execute, execute, execute, execute, putExecutorpublic final void initTables(JDBCDataAccessObjectOperator manager, java.sql.Connection cn, ObjectMappingTable[] tableObjs) throws java.lang.Exception
initTables 在接口中 DialectinitTables 在类中 AbstractDialectmanager - 字段sqlcn - 字段tableObjs - java.lang.Exceptionpublic final java.lang.StringBuffer columnInit(java.lang.StringBuffer columnSQL,
Column column)
columnInit 在接口中 DialectcolumnInit 在类中 AbstractDialectcolumnSQL - 字段sqlcolumn - 字段public final java.lang.String cascadeDeletePosition(boolean delCascade,
boolean isSupportsCascadeDelete,
java.lang.StringBuffer buf)
cascadeDeletePosition 在接口中 DialectcascadeDeletePosition 在类中 AbstractDialectdelCascade - 是否支持串联删除isSupportsCascadeDelete - 是否支持级联删除buf - 语句部分public final int getFetchSize()
getFetchSize 在接口中 DialectgetFetchSize 在类中 AbstractDialectpublic final java.lang.String column2SQL(java.lang.String columnName)
column2SQL 在接口中 Dialectcolumn2SQL 在类中 AbstractDialectcolumnName - 列名public final java.lang.String column2SQL4WhereSQL(java.lang.String columnName,
int i)
column2SQL4WhereSQL 在接口中 Dialectcolumn2SQL4WhereSQL 在类中 AbstractDialectcolumnName - 列名i - 数public final java.lang.String columnType2SQL(int columnType,
java.lang.String columnSize)
columnType2SQL 在接口中 DialectcolumnType2SQL 在类中 AbstractDialectcolumnType - 列类型columnSize - 列大小public final java.lang.String table2SQL(Table table)
table2SQL 在接口中 Dialecttable2SQL 在类中 AbstractDialecttable - 要转化的表public final java.lang.String[] getSchemas(java.sql.Connection conn)
throws java.lang.Exception
getSchemas 在接口中 DialectgetSchemas 在类中 AbstractDialectconn - 数据库连接java.lang.Exceptionpublic final TableProcedure[] getTableProcedure(Connection database, java.sql.Connection connection, java.lang.String schema, boolean b) throws java.lang.Exception
getTableProcedure 在接口中 DialectgetTableProcedure 在类中 AbstractDialectdatabase - 数据库连接connection - 数据库连接schema - 模式b - oracle是否显示所有表java.lang.Exceptionpublic final TableProcedure[] getProcedureList(java.sql.Connection connection, java.lang.String catalog, java.lang.String schema, boolean isOracleSysSpace)
DialectgetProcedureList 在接口中 DialectgetProcedureList 在类中 AbstractDialectconnection - 数据库连接catalog - 包名schema - 模式public final TableProcedure[] getTableProcedure(java.sql.Connection connection, java.lang.String schema, boolean b) throws java.lang.Exception
DialectgetTableProcedure 在接口中 DialectgetTableProcedure 在类中 AbstractDialectconnection - 数据库连接schema - 模式b - oracle是否显示所有表java.lang.Exceptionpublic final boolean supportsUniqueConstraintInCreateAlterTable()
supportsUniqueConstraintInCreateAlterTable 在接口中 DialectsupportsUniqueConstraintInCreateAlterTable 在类中 AbstractDialectpublic final boolean supportsUniqueViolationExceptionCheck()
supportsUniqueViolationExceptionCheck 在接口中 DialectsupportsUniqueViolationExceptionCheck 在类中 AbstractDialectpublic final boolean isUniqueViolationException(java.sql.SQLException se)
isUniqueViolationException 在接口中 DialectisUniqueViolationException 在类中 AbstractDialectse - SQL异常public final java.lang.String getStoreProcedureText(java.sql.Connection conn,
java.lang.String name,
java.lang.String charSetName)
getStoreProcedureText 在接口中 DialectgetStoreProcedureText 在类中 AbstractDialectconn - 数据库连接name - 数据库表名charSetName - 字符集名public final java.lang.String createSequence(java.sql.Connection conn,
java.lang.String tableName,
java.lang.String columnName,
java.lang.String columnType)
createSequence 在接口中 DialectcreateSequence 在类中 AbstractDialectconn - 数据库连接tableName - 表名columnName - 列名columnType - 列类型public final void createTriggerForSequenceParameter(java.sql.Connection cn,
java.lang.String tableName,
java.lang.String columnName)
DialectcreateTriggerForSequenceParameter 在接口中 DialectcreateTriggerForSequenceParameter 在类中 AbstractDialectcn - tableName - columnName - public final java.lang.String getIdentitySelectString(java.lang.String table,
java.lang.String column,
int type)
throws java.lang.Exception
getIdentitySelectString 在接口中 DialectgetIdentitySelectString 在类中 AbstractDialecttable - 表名column - 列type - 字段类型java.lang.Exceptionpublic final void setAutoCommit(java.sql.Connection conn,
boolean autoCommit)
throws java.sql.SQLException
setAutoCommit 在接口中 DialectsetAutoCommit 在类中 AbstractDialectconn - 数据库连接autoCommit - true表示可以自定提交,false表示不自动提交java.sql.SQLExceptionpublic final java.lang.String getLimitString(java.lang.String query,
int offset,
int limit)
getLimitString 在接口中 DialectgetLimitString 在类中 AbstractDialectquery - 原始的SQLoffset - 起始位置,最小为0limit - 限制值,即查询出来的条数public final boolean supportsLimitOffset(java.lang.String originalQuery)
supportsLimitOffset 在接口中 DialectsupportsLimitOffset 在类中 AbstractDialectoriginalQuery - public final java.lang.String getCountSql(java.lang.String sql)
getCountSql 在接口中 DialectgetCountSql 在类中 AbstractDialectsql - 需要被查询的数据public final boolean isYearData(java.sql.Connection conn,
int type,
Table table,
java.lang.String name)
isYearData 在接口中 DialectisYearData 在类中 AbstractDialectconn - 数据库连接type - 列字段类型table - 数据库表name - 列名public final java.lang.String quartzDelegateClass()
quartzDelegateClass 在接口中 DialectquartzDelegateClass 在类中 AbstractDialectpublic final java.lang.String quartzDelegateKey()
quartzDelegateKey 在接口中 DialectquartzDelegateKey 在类中 AbstractDialectpublic final java.lang.String defaultValidationQuery(java.sql.Connection conn)
defaultValidationQuery 在接口中 DialectdefaultValidationQuery 在类中 AbstractDialectconn - 数据库连接public final boolean isSupportFetchText()
isSupportFetchText 在接口中 DialectisSupportFetchText 在类中 AbstractDialectpublic final java.lang.String getTableCommentName(java.sql.Connection conn,
java.lang.String tableName,
java.lang.String schema,
java.lang.String dbLink)
getTableCommentName 在接口中 DialectgetTableCommentName 在类中 AbstractDialectconn - 数据连接tableName - 表名schema - 数据模式public final 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)
getTableFieldsInfor 在接口中 DialectgetTableFieldsInfor 在类中 AbstractDialectconn - tableName - schema - dbLink - public final java.util.List<FieldMessage> getTableFieldsMessage(java.sql.Connection conn, java.lang.String tableName, java.lang.String schema, java.lang.String dbLink)
getTableFieldsMessage 在接口中 DialectgetTableFieldsMessage 在类中 AbstractDialectconn - 数据连接tableName - 表名schema - 数据模式public final java.lang.Object parseValue(java.lang.Object value,
int type)
parseValue 在接口中 DialectparseValue 在类中 AbstractDialectvalue - 待转换的数据type - 类型public final StoreProcedureParameter[] getStoreProcedureDeclarationParameters(java.sql.Connection conn, java.lang.String name, java.lang.String parameterDefaultValue)
getStoreProcedureDeclarationParameters 在接口中 DialectgetStoreProcedureDeclarationParameters 在类中 AbstractDialectconn - 数据库连接name - 数据库表名public final SQLTypeHandlerFactory buildSQLTypeHandlerFactory()
buildSQLTypeHandlerFactory 在接口中 DialectbuildSQLTypeHandlerFactory 在类中 AbstractDialectpublic final boolean supportsCascadeDelete()
supportsCascadeDelete 在接口中 DialectsupportsCascadeDelete 在类中 AbstractDialectpublic final java.lang.String buildForeignKeyString(java.lang.String constraintName,
java.lang.String[] foreignKey,
java.lang.String referencedTable,
java.lang.String[] primaryKey,
boolean referencesPrimaryKey)
buildForeignKeyString 在接口中 DialectbuildForeignKeyString 在类中 AbstractDialectconstraintName - 约束字段名foreignKey - 列名referencedTable - 外键表名primaryKey - 主键referencesPrimaryKey - 是否引用主键public final void updateForeignKey(java.sql.Connection connection,
java.util.List<ForeignKey> foreignKeyList,
Table table,
boolean newTable)
DialectupdateForeignKey 在接口中 DialectupdateForeignKey 在类中 AbstractDialectpublic final 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) throws java.sql.SQLException
createLimitResultSet 在接口中 DialectcreateLimitResultSet 在类中 AbstractDialectdatabase - 数据连接conn - 连接stmt - Statement语句fieldNames - 字段名字schema - 数据模式tableName - 表名dbLink - 连接startRow - 开始行java.sql.SQLExceptionpublic final java.sql.Statement createLimitUseStatement(java.sql.Connection conn)
throws java.sql.SQLException
createLimitUseStatement 在接口中 DialectcreateLimitUseStatement 在类中 AbstractDialectconn - 数据连接java.sql.SQLExceptionpublic final java.lang.String createLimitSQL(java.lang.String sql,
java.lang.String[] fieldNames,
long startRow)
throws javax.transaction.NotSupportedException
createLimitSQL 在接口中 DialectcreateLimitSQL 在类中 AbstractDialectsql - sql语句fieldNames - 字段名startRow - 开始行javax.transaction.NotSupportedExceptionpublic final java.lang.String getSpecificRowSql(java.lang.String sql,
int row)
DialectgetSpecificRowSql 在接口中 DialectgetSpecificRowSql 在类中 AbstractDialectsql - sql语句row - 行public final java.lang.String getRowRangeSql(java.lang.String sql,
int start,
int end,
java.lang.String[] cols)
DialectgetRowRangeSql 在接口中 DialectgetRowRangeSql 在类中 AbstractDialectsql - sql语句start - 开始行end - 结束行cols - public final java.lang.String getTopNRowSql(int rowCount,
Table table)
throws javax.transaction.NotSupportedException
DialectgetTopNRowSql 在接口中 DialectgetTopNRowSql 在类中 AbstractDialectrowCount - 行数table - 表名javax.transaction.NotSupportedException - 异常public final boolean isSupportQueryWhileInsert(int insertCount)
isSupportQueryWhileInsert 在接口中 DialectisSupportQueryWhileInsert 在类中 AbstractDialectinsertCount - 实际插入的行数public final 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
DialectgetColumnInformation 在接口中 DialectgetColumnInformation 在类中 AbstractDialectconnection - 数据库连接rs - 结果集oriCharsetName - 原始编码newCharsetName - 结果编码java.sql.SQLException - 执行出错则抛出此异常public final void setForeignKeyChecks(java.sql.Connection conn,
int keyChecks)
DialectsetForeignKeyChecks 在接口中 DialectsetForeignKeyChecks 在类中 AbstractDialectconn - 数据连接keyChecks - 外键约束public final java.lang.String createSQL4Columns(java.lang.String query)
createSQL4Columns 在接口中 DialectcreateSQL4Columns 在类中 AbstractDialectquery - 原始sqlpublic final TableProcedure[] getAllTableProcedure(Connection database, java.lang.String type)
getAllTableProcedure 在接口中 DialectgetAllTableProcedure 在类中 AbstractDialectpublic final java.sql.Statement createStatement(java.sql.Connection connection,
java.lang.String sql)
throws java.sql.SQLException
createStatement 在接口中 DialectcreateStatement 在类中 AbstractDialectconnection - 连接sql - sql语句java.sql.SQLExceptionpublic final java.sql.ResultSet executeQuery(java.sql.Statement statement,
java.lang.String sql,
java.sql.Connection connection)
throws java.sql.SQLException
executeQuery 在接口中 DialectexecuteQuery 在类中 AbstractDialectsql - 数据库语句statement - 声明connection - 数据连接java.sql.SQLExceptionpublic final boolean isNULL(java.lang.Object object)
isNULL 在接口中 DialectisNULL 在类中 AbstractDialectobject - 字段值public final void notifyTriggerChange(java.sql.Connection cn,
Table table,
TriggerAction action)
DialectnotifyTriggerChange 在接口中 DialectnotifyTriggerChange 在类中 AbstractDialectcn - 数据连接操作table - 表action - public final java.lang.Object[] remoteProcedureCall(java.sql.Connection connection,
java.lang.String query)
throws java.sql.SQLException
remoteProcedureCall 在接口中 DialectremoteProcedureCall 在类中 AbstractDialectconnection - 数据连接query - SQL语句java.sql.SQLException