接口 IStrategy<TABLE_META extends TableMetadata,COMPARE_TABLE_INFO extends CompareTableInfo,MAPPER>
- 所有已知实现类:
H2Strategy,MysqlStrategy,PgsqlStrategy,SqliteStrategy
public interface IStrategy<TABLE_META extends TableMetadata,COMPARE_TABLE_INFO extends CompareTableInfo,MAPPER>
- 作者:
- don
-
字段概要
字段 -
方法概要
修饰符和类型方法说明analyseClass(Class<?> beanClass) 分析Bean,得到元数据信息default booleancheckTableNotExist(String schema, String tableName) 检查表是否存在compareTable(TABLE_META tableMetadata) 对比表与bean的差异default voidcreateMode(TABLE_META tableMetadata) 创建模式createTable(Class<?> clazz) 获取创建表的SQLcreateTable(TABLE_META tableMetadata) 生成创建表SQL策略对应的数据库方言,与数据库驱动中的接口DatabaseMetaData.getDatabaseProductName()实现返回值一致根据表名删除表,生成删除表的SQLdefault voidexecuteCreateTable(TABLE_META tableMetadata) 执行创建表default <R> RexecuteReturn(Function<MAPPER, R> execute) 获取mapper执行mapper的方法default voidexecuteSql(TABLE_META tableMetadata, List<String> sqlList) 执行SQL从接口泛型上读取MapperClassmodifyTable(COMPARE_TABLE_INFO compareTableInfo) 生成修改表SQLdefault void开始分析实体集合default voidstart(TABLE_META tableMetadata) 开始分析实体java字段类型与数据库类型映射关系default voidupdateMode(TABLE_META tableMetadata) 更新模式 1.default voidvalidateMode(TABLE_META tableMetadata) 检查数据库数据模型与实体是否一致 1.
-
字段详细资料
-
log
static final org.slf4j.Logger log
-
-
方法详细资料
-
executeReturn
获取mapper执行mapper的方法- 参数:
execute- 要执行的SQL方法- 返回:
- 数据库类型
-
getMapperClass
从接口泛型上读取MapperClass- 返回:
- MapperClass
-
start
开始分析实体集合- 参数:
entityClass- 待处理的实体
-
start
开始分析实体- 参数:
tableMetadata- 表元数据
-
validateMode
检查数据库数据模型与实体是否一致 1. 检查数据库数据模型是否存在 2. 检查数据库数据模型与实体是否一致- 参数:
tableMetadata- 表元数据
-
createMode
创建模式1. 删除表
2. 新建表
- 参数:
tableMetadata- 表元数据
-
updateMode
更新模式 1. 检查表是否存在 2. 不存在创建 3. 检查表是否需要修改 4. 需要修改就修改表- 参数:
tableMetadata- 表元数据
-
executeCreateTable
执行创建表- 参数:
tableMetadata- 表元数据
-
executeSql
执行SQL- 参数:
tableMetadata- 表元数据sqlList- SQL集合
-
checkTableNotExist
检查表是否存在- 参数:
schema- schematableName- 表名- 返回:
- 表详情
-
createTable
获取创建表的SQL- 参数:
clazz- 实体- 返回:
- sql
-
databaseDialect
String databaseDialect()策略对应的数据库方言,与数据库驱动中的接口DatabaseMetaData.getDatabaseProductName()实现返回值一致- 返回:
- 方言
-
typeMapping
Map<Class<?>,DefaultTypeEnumInterface> typeMapping()java字段类型与数据库类型映射关系- 返回:
- 映射
-
dropTable
根据表名删除表,生成删除表的SQL- 参数:
schema- schematableName- 表名- 返回:
- SQL
-
analyseClass
分析Bean,得到元数据信息- 参数:
beanClass- 待分析的class- 返回:
- 表元信息
-
createTable
生成创建表SQL- 参数:
tableMetadata- 表元数据- 返回:
- SQL
-
compareTable
对比表与bean的差异- 参数:
tableMetadata- 表元数据- 返回:
- 待修改的表信息描述
-
modifyTable
生成修改表SQL- 参数:
compareTableInfo- 修改表的描述信息- 返回:
- SQL
-