Class DatabaseConfig

java.lang.Object
top.magstar.framework.database.connections.DatabaseConfig

public class DatabaseConfig extends Object
数据库配置类。

用于配置数据库连接参数,支持 MySQL、PostgreSQL、SQLite、H2 等多种数据库类型。 提供流式 API 方便链式调用配置参数。

使用示例


 // MySQL 配置
 DatabaseConfig config = DatabaseConfig.create(DatabaseType.MYSQL)
     .host("localhost")
     .port(3306)
     .database("mydb")
     .username("root")
     .password("password")
     .maxConnections(20)
     .minConnections(5);

 // SQLite 配置
 DatabaseConfig config = DatabaseConfig.create(DatabaseType.SQLITE)
     .database("data.db");

 // 验证配置
 config.validate();
 
Since:
1.0.0
Version:
1.0.0
Author:
Berry_so
  • Constructor Details

    • DatabaseConfig

      public DatabaseConfig()
  • Method Details

    • type

      public DatabaseConfig type(DatabaseType type)
      设置数据库类型。
      Parameters:
      type - 数据库类型
      Returns:
      当前实例,支持链式调用
    • host

      public DatabaseConfig host(String host)
      设置数据库主机地址。
      Parameters:
      host - 主机地址
      Returns:
      当前实例,支持链式调用
    • port

      public DatabaseConfig port(int port)
      设置数据库端口。
      Parameters:
      port - 端口号
      Returns:
      当前实例,支持链式调用
    • database

      public DatabaseConfig database(String database)
      设置数据库名称或文件路径。
      Parameters:
      database - 数据库名称或文件路径
      Returns:
      当前实例,支持链式调用
    • username

      public DatabaseConfig username(String username)
      设置数据库用户名。
      Parameters:
      username - 用户名
      Returns:
      当前实例,支持链式调用
    • password

      public DatabaseConfig password(String password)
      设置数据库密码。
      Parameters:
      password - 密码
      Returns:
      当前实例,支持链式调用
    • maxConnections

      public DatabaseConfig maxConnections(int maxConnections)
      设置最大连接数。
      Parameters:
      maxConnections - 最大连接数,默认为 10
      Returns:
      当前实例,支持链式调用
    • minConnections

      public DatabaseConfig minConnections(int minConnections)
      设置最小连接数。
      Parameters:
      minConnections - 最小连接数,默认为 2
      Returns:
      当前实例,支持链式调用
    • connectionTimeout

      public DatabaseConfig connectionTimeout(long connectionTimeout)
      设置连接超时时间。
      Parameters:
      connectionTimeout - 超时时间(毫秒),默认为 30000
      Returns:
      当前实例,支持链式调用
    • schema

      public DatabaseConfig schema(String schema)
      设置数据库模式(schema)。
      Parameters:
      schema - 模式名称
      Returns:
      当前实例,支持链式调用
    • property

      public DatabaseConfig property(String key, String value)
      添加自定义连接属性。
      Parameters:
      key - 属性键
      value - 属性值
      Returns:
      当前实例,支持链式调用
    • getType

      public DatabaseType getType()
      获取数据库类型。
      Returns:
      数据库类型
    • getHost

      public String getHost()
      获取主机地址。
      Returns:
      主机地址
    • getPort

      public int getPort()
      获取端口号。
      Returns:
      端口号
    • getDatabase

      public String getDatabase()
      获取数据库名称。
      Returns:
      数据库名称
    • getUsername

      public String getUsername()
      获取用户名。
      Returns:
      用户名
    • getPassword

      public String getPassword()
      获取密码。
      Returns:
      密码
    • getMaxConnections

      public int getMaxConnections()
      获取最大连接数。
      Returns:
      最大连接数
    • getMinConnections

      public int getMinConnections()
      获取最小连接数。
      Returns:
      最小连接数
    • getConnectionTimeout

      public long getConnectionTimeout()
      获取连接超时时间。
      Returns:
      超时时间(毫秒)
    • getSchema

      public String getSchema()
      获取数据库模式。
      Returns:
      模式名称
    • getProperties

      public Map<String,String> getProperties()
      获取自定义属性的副本。
      Returns:
      属性映射的副本
    • getUrl

      public String getUrl()
      获取 JDBC 连接 URL。
      Returns:
      JDBC URL 字符串
      Throws:
      UnsupportedOperationException - 如果数据库类型不支持
    • getDriverClass

      public String getDriverClass()
      获取 JDBC 驱动类名。
      Returns:
      驱动类的完全限定名
      Throws:
      UnsupportedOperationException - 如果数据库类型不支持
    • validate

      public void validate()
      验证配置的有效性。
      Throws:
      IllegalArgumentException - 如果配置参数无效
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • create

      public static DatabaseConfig create(DatabaseType type)
      创建指定类型的数据库配置。
      Parameters:
      type - 数据库类型
      Returns:
      新的数据库配置实例