Class DDL

java.lang.Object
org.huiche.ddl.DDL

public class DDL extends Object
DDL入口类, 使用此类生成DDL或比较语句
Author:
Maning
  • Constructor Details

    • DDL

      public DDL(ConnectionProvider connectionProvider)
      默认构造
      Parameters:
      connectionProvider - 连接提供者
  • Method Details

    • compare

      public List<String> compare(Collection<Class<?>> classes)
      通过Class比较java侧与数据库侧DDL差异(单向比较,db侧少的会创建,多的不会删除)
      Parameters:
      classes - 类
      Returns:
      差异DDL语句
    • compare

      public List<String> compare(Class<?>... classes)
      通过Class比较java侧与数据库侧DDL差异(单向比较,db侧少的会创建,多的不会删除)
      Parameters:
      classes - 类
      Returns:
      差异DDL语句
    • compare

      public List<String> compare(List<String> packages)
      通过包名扫描类(必须有@Table注解), 比较java侧与数据库侧DDL差异(单向比较,db侧少的会创建,多的不会删除)
      Parameters:
      packages - 包名
      Returns:
      差异DDL语句
    • compare

      public List<String> compare(String... packages)
      通过包名扫描类(必须有@Table注解), 比较java侧与数据库侧DDL差异(单向比较,db侧少的会创建,多的不会删除)
      Parameters:
      packages - 包名
      Returns:
      差异DDL语句
    • consumer

      public DDL consumer(Consumer<List<String>> consumer)
      设置DDL语句消费者
      Parameters:
      consumer - DDL语句消费者
      Returns:
      DDL
    • ddl

      public List<String> ddl(Collection<Class<?>> classes)
      通过Class生成DDL
      Parameters:
      classes - 类
      Returns:
      DDL语句
    • ddl

      public List<String> ddl(Class<?>... classes)
      通过Class生成DDL
      Parameters:
      classes - 类
      Returns:
      DDL语句
    • ddl

      public List<String> ddl(List<String> packages)
      通过包名扫描类(必须有@Table注解), 生成DDL
      Parameters:
      packages - 包名
      Returns:
      DDL语句
    • ddl

      public List<String> ddl(String... packages)
      通过包名扫描类(必须有@Table注解), 生成DDL
      Parameters:
      packages - 包名
      Returns:
      DDL语句
    • dialect

      public DDL dialect(DDLDialect dialect)
      DDL方言,除非是自定义,一般不需要指定,由ConnectionProvider推导
      Parameters:
      dialect - DDL方言
      Returns:
      DDL
    • enumBy

      public DDL enumBy(EnumBy enumBy)
      枚举取值方式
      Parameters:
      enumBy - 枚举取值方式
      Returns:
      DDL
    • execute

      public DDL execute(boolean execute)
      是否直接执行生成的DDL
      Parameters:
      execute - 是否执行
      Returns:
      DDL
    • setTypeMapping

      public DDL setTypeMapping(Map<Class<?>,TypeDef> typeMapping)
      自定义类型映射
      Parameters:
      typeMapping - 自定义类型映射
      Returns:
      DDL