类 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, concatWrapName, createMode, createSchema, createTable, executeCreateTable, executeSql, identifier, listAllTables, start, start, updateMode, validateMode, wrapIdentifier
  • 构造器详细资料

    • 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>