Interface DDLDialect
- All Known Implementing Classes:
BaseDDLDialect, DB2DDLDialect, DMDDLDialect, H2DDLDialect, HSQLDDLDialect, MariaDBDDLDialect, MySQLDDLDialect, OracleDDLDialect, PostgreSQLDDLDialect, SQLiteDDLDialect, SQLServerDDLDialect
public interface DDLDialect
DDL方言
- Author:
- Maning
-
Method Summary
Modifier and TypeMethodDescriptiondefault boolean添加主键时,检查添加notnulldefault boolean添加唯一时,检查添加notnull自增语法片段default TypeDefbigint类型名称default TypeDefblobType()blob类型名称default TypeDefboolean类型名称default TypeDefcharType(int length) char类型名称default TypeDefclobType()clob类型名称compareColumn(TableDef table, ColumnDef java, ColumnDef db, ConnectionProvider connectionProvider) 比较列定义default boolean是否比较长度和精度compareTable(TableDef java, TableDef db, ConnectionProvider connectionProvider) 比较表定义default TypeDefdateType()date类型名称数据库的类型映射default TypeDefdecimalType(int length, int scale) decimal类型名称default boolean是否支持嵌入的列注释default boolean是否支持嵌入的表注释default TypeDeffallbackType(int length) 兜底类型,一般返回jsondefault TypeDefintType()int类型名称default TypeDefjsonType()JSON类型static DDLDialect通过数据库方言解析DDL方言default boolean列为主键时是否需要显式定义NOTNULLdefault TypeDefresolveEnumType(Class<?> enumType, int length, EnumBy enumBy) 解析枚举类型解析表定义resolveTableByJdbc(ConnectionProvider connectionProvider) 从jdbc读取表定义resolveType(Class<?> javaType, int length, int scale, boolean autoIncrement, EnumBy enumBy, Map<Class<?>, TypeDef> typeMapping) 解析数据库类型default TypeDefsmallint类型名称default TypeDeftimestramp类型名称default TypeDeftimeType()time类型名称default TypeDeftinyint类型名称翻译新增列语句translate(AddPrimaryKey statement) 翻译新增主键语句翻译新增唯一索引语句translate(AlterColumnComment statement) 翻译修改列注释语句translate(AlterColumnType statement) 翻译修改列语句translate(AlterDefault statement) 翻译设置默认值语句translate(AlterNullabe statement) 翻译新增列NOTNULL语句translate(AlterTableComment statement) 翻译修改表注释语句translate(CreateTable statement) 翻译建表语句translate(DDLStatement statement) 翻译DDL语句translate(DropConstraint statement) 翻译删除约束语句translate(DropPrimaryKey statement) 翻译删除主键语句translate(ModifyColumn statement) 翻译修改列语句translateColumn(ColumnDef column) 翻译列定义default TypeDefvarcharType(int length) varchar类型名称
-
Method Details
-
of
-
addPrimaryKeyAddNotNull
default boolean addPrimaryKeyAddNotNull()添加主键时,检查添加notnull- Returns:
- 添加主键时,检查添加notnull
-
addUniqueAddNotNull
default boolean addUniqueAddNotNull()添加唯一时,检查添加notnull- Returns:
- 添加唯一时,检查添加notnull
-
autoIncrementSyntaxSegment
-
bigintType
-
blobType
-
booleanType
-
charType
-
clobType
-
compareColumn
List<DDLStatement> compareColumn(TableDef table, ColumnDef java, ColumnDef db, ConnectionProvider connectionProvider) 比较列定义- Parameters:
table- 表java- java侧列定义db- 数据库侧列定义, 可能为nullconnectionProvider- 连接提供者- Returns:
- 差异语句
-
compareLengthOrScale
default boolean compareLengthOrScale()是否比较长度和精度- Returns:
- 是否比较长度和精度
-
compareTable
比较表定义- Parameters:
java- java侧表定义db- 数据库侧表定义, 可能为nullconnectionProvider- 连接提供者- Returns:
- 差异语句
-
dateType
-
dbTypeMapping
-
decimalType
decimal类型名称- Parameters:
length- 长度scale- 精度- Returns:
- decimal类型名称
-
embeddedColumnComment
default boolean embeddedColumnComment()是否支持嵌入的列注释- Returns:
- 是否支持嵌入的列注释
-
embeddedTableComment
default boolean embeddedTableComment()是否支持嵌入的表注释- Returns:
- 是否支持嵌入的表注释
-
fallbackType
-
intType
-
jsonType
-
requiresExplicitNotNullForPrimaryKey
default boolean requiresExplicitNotNullForPrimaryKey()列为主键时是否需要显式定义NOTNULL- Returns:
- 列为主键时是否需要显式定义NOTNULL
-
resolveEnumType
-
resolveTable
-
resolveTableByJdbc
从jdbc读取表定义- Parameters:
connectionProvider- 连接提供者- Returns:
- 表定义
-
resolveType
-
smallintType
-
timeType
-
timestrampType
-
tinyintType
-
translate
翻译DDL语句- Parameters:
statement- 语句- Returns:
- 翻译后的SQL
-
translate
-
translate
翻译新增列NOTNULL语句- Parameters:
statement- 语句- Returns:
- 翻译后的SQL
-
translate
翻译新增主键语句- Parameters:
statement- 语句- Returns:
- 翻译后的SQL
-
translate
-
translate
翻译修改表注释语句- Parameters:
statement- 语句- Returns:
- 翻译后的SQL
-
translate
翻译修改列语句- Parameters:
statement- 语句- Returns:
- 翻译后的SQL
-
translate
翻译修改列注释语句- Parameters:
statement- 语句- Returns:
- 翻译后的SQL
-
translate
-
translate
翻译删除主键语句- Parameters:
statement- 语句- Returns:
- 翻译后的SQL
-
translate
-
translate
翻译设置默认值语句- Parameters:
statement- 语句- Returns:
- 翻译后的SQL
-
translate
翻译删除约束语句- Parameters:
statement- 语句- Returns:
- 翻译后的SQL
-
translateColumn
-
varcharType
-