类 OracleStrategy

java.lang.Object
org.dromara.autotable.strategy.oracle.OracleStrategy
所有已实现的接口:
org.dromara.autotable.core.strategy.IStrategy<org.dromara.autotable.core.strategy.DefaultTableMetadata,OracleCompareTableInfo>

public class OracleStrategy extends Object implements org.dromara.autotable.core.strategy.IStrategy<org.dromara.autotable.core.strategy.DefaultTableMetadata,OracleCompareTableInfo>
oracle数据库策略实现
  • 字段概要

    从接口继承的字段 org.dromara.autotable.core.strategy.IStrategy

    log, STRATEGY_THREAD_LOCAL
  • 构造器概要

    构造器
    构造器
    说明
     
  • 方法概要

    修饰符和类型
    方法
    说明
    @NonNull org.dromara.autotable.core.strategy.DefaultTableMetadata
    analyseClass(Class<?> beanClass)
     
    compareTable(org.dromara.autotable.core.strategy.DefaultTableMetadata tableMetadata)
     
    createTable(org.dromara.autotable.core.strategy.DefaultTableMetadata tableMetadata)
     
     
    dropTable(String schema, String tableName)
    生成删除指定表及其对应序列的PL/SQL代码 此方法根据提供的模式和表名,生成一段PL/SQL代码,用于检查并删除表,以及检查并删除与表名对应的序列 主要目的是在数据库中安全地删除表及其相关序列,避免手动删除时可能出现的错误
    int
    索引名称最大长度: 考虑到大多数数据库,其中oracle的30最小,再就是pg的63了,所以这里取63,oracle自行处理
     
    Map<Class<?>,org.dromara.autotable.core.converter.DefaultTypeEnumInterface>
    重写typeMapping方法以提供自定义的数据库类型映射 此方法定义了Java类型到数据库类型的映射规则,用于指导ORM框架如何处理不同类型的字段
    wrapSql(String rawSql)
    oracle数据库sql包装

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    从接口继承的方法 org.dromara.autotable.core.strategy.IStrategy

    checkTableNotExist, createMode, createTable, executeCreateTable, executeSql, listAllTables, start, start, updateMode, validateMode
  • 构造器详细资料

    • OracleStrategy

      public OracleStrategy()
  • 方法详细资料

    • databaseDialect

      public String databaseDialect()
      指定者:
      databaseDialect 在接口中 org.dromara.autotable.core.strategy.IStrategy<org.dromara.autotable.core.strategy.DefaultTableMetadata,OracleCompareTableInfo>
    • wrapSql

      public String wrapSql(String rawSql)
      oracle数据库sql包装
      指定者:
      wrapSql 在接口中 org.dromara.autotable.core.strategy.IStrategy<org.dromara.autotable.core.strategy.DefaultTableMetadata,OracleCompareTableInfo>
      参数:
      rawSql - 原始sql
      返回:
      包装后的sql
    • indexNameMaxLength

      public int indexNameMaxLength()
      索引名称最大长度: 考虑到大多数数据库,其中oracle的30最小,再就是pg的63了,所以这里取63,oracle自行处理
      指定者:
      indexNameMaxLength 在接口中 org.dromara.autotable.core.strategy.IStrategy<org.dromara.autotable.core.strategy.DefaultTableMetadata,OracleCompareTableInfo>
      返回:
      索引名称最大长度
    • typeMapping

      public Map<Class<?>,org.dromara.autotable.core.converter.DefaultTypeEnumInterface> typeMapping()
      重写typeMapping方法以提供自定义的数据库类型映射 此方法定义了Java类型到数据库类型的映射规则,用于指导ORM框架如何处理不同类型的字段
      指定者:
      typeMapping 在接口中 org.dromara.autotable.core.strategy.IStrategy<org.dromara.autotable.core.strategy.DefaultTableMetadata,OracleCompareTableInfo>
      返回:
      返回一个映射,键是Java类型,值是对应的数据库类型定义
    • dropTable

      public String dropTable(String schema, String tableName)
      生成删除指定表及其对应序列的PL/SQL代码 此方法根据提供的模式和表名,生成一段PL/SQL代码,用于检查并删除表,以及检查并删除与表名对应的序列 主要目的是在数据库中安全地删除表及其相关序列,避免手动删除时可能出现的错误
      指定者:
      dropTable 在接口中 org.dromara.autotable.core.strategy.IStrategy<org.dromara.autotable.core.strategy.DefaultTableMetadata,OracleCompareTableInfo>
      参数:
      schema - 模式名称,本方法中未使用该参数,但保留以符合可能的接口要求
      tableName - 表名称,用于确定要删除的表和序列
      返回:
      返回一段PL/SQL代码,用于删除指定的表和序列
    • analyseClass

      @NonNull public @NonNull org.dromara.autotable.core.strategy.DefaultTableMetadata analyseClass(Class<?> beanClass)
      指定者:
      analyseClass 在接口中 org.dromara.autotable.core.strategy.IStrategy<org.dromara.autotable.core.strategy.DefaultTableMetadata,OracleCompareTableInfo>
    • createTable

      public List<String> createTable(org.dromara.autotable.core.strategy.DefaultTableMetadata tableMetadata)
      指定者:
      createTable 在接口中 org.dromara.autotable.core.strategy.IStrategy<org.dromara.autotable.core.strategy.DefaultTableMetadata,OracleCompareTableInfo>
    • compareTable

      @NonNull public @NonNull OracleCompareTableInfo compareTable(org.dromara.autotable.core.strategy.DefaultTableMetadata tableMetadata)
      指定者:
      compareTable 在接口中 org.dromara.autotable.core.strategy.IStrategy<org.dromara.autotable.core.strategy.DefaultTableMetadata,OracleCompareTableInfo>
    • modifyTable

      public List<String> modifyTable(OracleCompareTableInfo compareTableInfo)
      指定者:
      modifyTable 在接口中 org.dromara.autotable.core.strategy.IStrategy<org.dromara.autotable.core.strategy.DefaultTableMetadata,OracleCompareTableInfo>