接口 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
  • 字段详细资料

    • log

      static final org.slf4j.Logger log
    • TRANSACTION_COMMIT_MARK

      static final String TRANSACTION_COMMIT_MARK
      事务提交标志
      另请参阅:
  • 方法详细资料

    • executeReturn

      default <R> R executeReturn(Function<MAPPER,R> execute)
      获取mapper执行mapper的方法
      参数:
      execute - 要执行的SQL方法
      返回:
      数据库类型
    • getMapperClass

      default Class<MAPPER> getMapperClass()
      从接口泛型上读取MapperClass
      返回:
      MapperClass
    • start

      default void start(Class<?> entityClass)
      开始分析实体集合
      参数:
      entityClass - 待处理的实体
    • start

      default void start(TABLE_META tableMetadata)
      开始分析实体
      参数:
      tableMetadata - 表元数据
    • validateMode

      default void validateMode(TABLE_META tableMetadata)
      检查数据库数据模型与实体是否一致 1. 检查数据库数据模型是否存在 2. 检查数据库数据模型与实体是否一致
      参数:
      tableMetadata - 表元数据
    • createMode

      default void createMode(TABLE_META tableMetadata)
      创建模式

      1. 删除表

      2. 新建表

      参数:
      tableMetadata - 表元数据
    • updateMode

      default void updateMode(TABLE_META tableMetadata)
      更新模式 1. 检查表是否存在 2. 不存在创建 3. 检查表是否需要修改 4. 需要修改就修改表
      参数:
      tableMetadata - 表元数据
    • executeCreateTable

      default void executeCreateTable(TABLE_META tableMetadata)
      执行创建表
      参数:
      tableMetadata - 表元数据
    • executeSql

      default void executeSql(TABLE_META tableMetadata, List<String> sqlList)
      执行SQL
      参数:
      tableMetadata - 表元数据
      sqlList - SQL集合
    • checkTableNotExist

      default boolean checkTableNotExist(String schema, String tableName)
      检查表是否存在
      参数:
      schema - schema
      tableName - 表名
      返回:
      表详情
    • createTable

      default List<String> createTable(Class<?> clazz)
      获取创建表的SQL
      参数:
      clazz - 实体
      返回:
      sql
    • databaseDialect

      String databaseDialect()
      策略对应的数据库方言,与数据库驱动中的接口DatabaseMetaData.getDatabaseProductName()实现返回值一致
      返回:
      方言
    • typeMapping

      java字段类型与数据库类型映射关系
      返回:
      映射
    • dropTable

      String dropTable(String schema, String tableName)
      根据表名删除表,生成删除表的SQL
      参数:
      schema - schema
      tableName - 表名
      返回:
      SQL
    • analyseClass

      @NonNull TABLE_META analyseClass(Class<?> beanClass)
      分析Bean,得到元数据信息
      参数:
      beanClass - 待分析的class
      返回:
      表元信息
    • createTable

      List<String> createTable(TABLE_META tableMetadata)
      生成创建表SQL
      参数:
      tableMetadata - 表元数据
      返回:
      SQL
    • compareTable

      @NonNull COMPARE_TABLE_INFO compareTable(TABLE_META tableMetadata)
      对比表与bean的差异
      参数:
      tableMetadata - 表元数据
      返回:
      待修改的表信息描述
    • modifyTable

      List<String> modifyTable(COMPARE_TABLE_INFO compareTableInfo)
      生成修改表SQL
      参数:
      compareTableInfo - 修改表的描述信息
      返回:
      SQL