public static func deregister(driverName: String): Unit
功能:按名称取消注册数据库驱动(如果存在)。本函数并发安全。
参数:
public static func drivers(): Array<String>
功能:返回已注册数据库驱动名称的列表(名称已按照字典序排序)。本方法并发安全。
返回值:
public static func getDriver(driverName: String): Option<Driver>
功能:按名称获取已注册的数据库驱动,如果不存在返回 None。本函数并发安全。
参数:
返回值:
public static func register(driverName: String, driver: Driver): Unit
功能:按名称和驱动实例注册数据库驱动,名称和实例一一对应。本方法并发安全。
参数:
异常:
public class PooledDatasource <: Datasource {
public init(datasource: Datasource)
} 功能:数据库连接池类,提供数据库连接池能力。
public mut prop connectionTimeout: Duration
功能:从池中获取连接的超时时间。
类型:Duration
异常:
public mut prop idleTimeout: Duration
功能:允许连接在池中闲置的最长时间,超过这个时间的空闲连接可能会被回收。
类型:Duration
public mut prop keepaliveTime: Duration
功能:检查空闲连接健康状况的间隔时间,防止它被数据库或网络基础设施超时。
类型:Duration
public mut prop maxIdleSize: Int32
功能:最大空闲连接数量,超过这个数量的空闲连接会被关闭,负数或0表示无限制。
类型:Int32
public mut prop maxLifeTime: Duration
功能:自连接创建以来的持续时间,在该持续时间之后,连接将自动关闭。
类型:Duration
public init(datasource: Datasource)
功能:通过数据源 datasource 构造一个 PooledDatasource 实例,入参必须为 Datasource 对象。
参数:
public func setOption(key: String, value: String): Unit
功能:设置数据库驱动连接选项(公钥在 SqlOption 中预定义)。
参数:
public class SqlBlob <: SqlDbType {
public init(v: InputStream)
} 功能:变长超大二进制字符串(BINARY LARGE OBJECT),对应仓颉 InputStream 类型。
public init(v: InputStream)
功能:根据传入参数 v 构造一个 SqlBlob 实例。
参数:
public class SqlClob <: SqlDbType {
public init(v: InputStream)
} 功能:变长超大字符串(RUNE LARGE OBJECT),对应仓颉 InputStream 类型。
public init(v: InputStream)
功能:根据传入参数 v 构造一个 SqlClob 实例。
参数:
public class SqlDate <: SqlDbType {
public init(v: DateTime)
} 功能:日期,仅年月日有效,对应仓颉 DateTime 类型。
public class SqlDouble <: SqlDbType {
public init(v: Float64)
} 功能:双精度数,对应仓颉 Float64 类型。
public class SqlInteger <: SqlDbType {
public init(v: Int32)
} 功能:中整数,对应仓颉 Int32 类型。
public class SqlInterval <: SqlDbType {
public init(v: Duration)
} 功能:时间间隔,对应仓颉 Duration 类型。
public init(v: Duration)
功能:根据传入参数 v 构造一个 SqlInterval 实例。
参数:
public class SqlNullableBigInt <: SqlNullableDbType {
public init(v: ?Int64)
} 功能:大整数,对应仓颉 Int64 类型,可为数据库 Null 值。
public init(v: ?Int64)
功能:根据传入参数 v 构造一个 SqlNullableBigInt 实例。
参数:
public class SqlNullableBinary <: SqlNullableDbType {
public init(v: ?Array<Byte>)
} public class SqlNullableBlob <: SqlNullableDbType {
public init(v: ?InputStream)
} 功能:变长超大二进制字符串(BINARY LARGE OBJECT),对应仓颉 InputStream 类型,可为数据库 Null 值。
public init(v: ?InputStream)
功能:根据传入参数 v 构造一个 SqlNullableBlob 实例。
参数:
public class SqlNullableBool <: SqlNullableDbType {
public init(v: ?Bool)
} 功能:布尔类型,对应仓颉 Bool 类型,可为数据库 Null 值。
public class SqlNullableByte <: SqlNullableDbType {
public init(v: ?Int8)
} 功能:字节,对应仓颉 Int8 类型,可为数据库 Null 值。
public class SqlNullableChar <: SqlNullableDbType {
public init(v: ?String)
} 功能:定长字符串,对应仓颉 String 类型,可为数据库 Null 值。
public init(v: ?String)
功能:根据传入参数 v 构造一个 SqlNullableChar 实例。
参数:
public class SqlNullableClob <: SqlNullableDbType {
public init(v: ?InputStream)
} 功能:变长超大字符串(RUNE LARGE OBJECT),对应仓颉 InputStream 类型,可为数据库 Null 值。
public init(v: ?InputStream)
功能:根据传入参数 v 构造一个 SqlNullableClob 实例。
参数:
public class SqlNullableDate <: SqlNullableDbType {
public init(v: ?DateTime)
} 功能:日期,仅年月日有效,对应仓颉 DateTime 类型,可为数据库 Null 值。
public init(v: ?DateTime)
功能:根据传入参数 v 构造一个 SqlNullableDate 实例。
参数:
public class SqlNullableDouble <: SqlNullableDbType {
public init(v: ?Float64)
} 功能:双精度数,对应仓颉 Float64 类型,可为数据库 Null 值。
public init(v: ?Float64)
功能:根据传入参数 v 构造一个 SqlNullableDouble 实例。
参数:
public class SqlNullableInteger <: SqlNullableDbType {
public init(v: ?Int32)
} 功能:中整数,对应仓颉 Int32 类型,可为数据库 Null 值。
public init(v: ?Int32)
功能:根据传入参数 v 构造一个 SqlNullableInteger 实例。
参数:
public class SqlNullableInterval <: SqlNullableDbType {
public init(v: ?Duration)
} 功能:时间间隔,对应仓颉 Duration 类型,可为数据库 Null 值。
public init(v: ?Duration)
功能:根据传入参数 v 构造一个 SqlNullableInterval 实例。
参数:
public class SqlNullableReal <: SqlNullableDbType {
public init(v: ?Float32)
} 功能:浮点数,对应仓颉 Float32 类型,可为数据库 Null 值。
public init(v: ?Float32)
功能:根据传入参数 v 构造一个 SqlNullableReal 实例。
参数:
public class SqlNullableSmallInt <: SqlNullableDbType {
public init(v: ?Int16)
} 功能:小整数,对应仓颉 Int16 类型,可为数据库 Null 值。
public init(v: ?Int16)
功能:根据传入参数 v 构造一个 SqlNullableSmallInt 实例。
参数:
public class SqlNullableTime <: SqlNullableDbType {
public init(v: ?DateTime)
} 功能:时间,仅时分秒毫秒有效,对应仓颉 DateTime 类型,可为数据库 Null 值。
public init(v: ?DateTime)
功能:根据传入参数 v 构造一个 SqlNullableTime 实例。
参数:
public class SqlNullableTimeTz <: SqlNullableDbType {
public init(v: ?DateTime)
} 功能:带时区的时间,仅时分秒毫秒时区有效,对应仓颉 DateTime 类型,可为数据库 Null 值。
public init(v: ?DateTime)
功能:根据传入参数 v 构造一个 SqlNullableTimeTz 实例。
参数:
public class SqlNullableTimestamp <: SqlNullableDbType {
public init(v: ?DateTime)
} 功能:时间戳,对应仓颉 DateTime 类型,可为数据库 Null 值。
public init(v: ?DateTime)
功能:根据传入参数 v 构造一个 SqlNullableTimestamp 实例。
参数:
public class SqlNullableVarBinary <: SqlNullableDbType {
public init(v: ?Array<Byte>)
} public class SqlNullableVarchar <: SqlNullableDbType {
public init(v: ?String)
} 功能:变长字符串,对应仓颉 String 类型,可为数据库 Null 值。
public init(v: ?String)
功能:根据传入参数 v 构造一个 SqlNullableVarchar 实例。
参数:
public static let ConnectionTimeout: String = "connection_timeout"
功能:获取 connect 操作的超时时间,单位 ms。
类型:String
public static let Driver: String = "driver"
功能:获取数据库驱动名称,比如 postgres,opengauss。
类型:String
public static let FetchRows: String = "fetch_rows"
功能:获取指定需要获取额外行时从数据库中提取的行数。
类型:String
public static let QueryTimeout: String = "query_timeout"
功能:获取 query 操作的超时时间,单位 ms。
类型:String
public static let SSLCert: String = "ssl.cert"
功能:客户端 SSL 公钥证书文件的路径名。
类型:String
public static let SSLKeyPassword: String = "ssl.key.password"
功能:客户端 SSL 私钥文件的密码。
类型:String
public static let SSLMode: String = "ssl.mode"
功能:获取 SSLMode 传输层加密模式。
类型:String
public static let SSLModeDisabled: String = "ssl.mode.disabled"
功能:建立未加密的连接。
类型:String
public static let SSLModePreferred: String = "ssl.mode.preferred"
功能:如果服务器支持加密连接,则建立加密连接; 如果无法建立加密连接,则回退到未加密连接,这是 SSLMode 的默认值。
类型:String
public static let SSLModeRequired: String = "ssl.mode.required"
功能:如果服务器支持加密连接,则建立加密连接。如果无法建立加密连接,则连接失败。
类型:String
public static let SSLModeVerifyCA: String = "ssl.mode.verify_ca"
功能:SSLModeVerifyCA 和 SSLModeRequired 类似,但是增加了校验服务器证书,如果校验失败,则连接失败。
类型:String
public static let SSLModeVerifyFull: String = "ssl.mode.verify_full"
功能:SSLModeVerifyFull 和 SSLModeVerifyCA 类似,但通过对照服务器发送给客户端的证书中的标识检查客户端用于连接到服务器的主机名来执行主机名身份验证。
类型:String
public static let SSLSni: String = "ssl.sni"
功能:客户端通过该标识在握手过程开始时试图连接到哪个主机名。
类型:String
public static let Tls12Ciphersuites: String = "tls1.2.ciphersuites"
功能:此选项指定客户端允许使用 TLSv1.2 及以下的加密连接使用哪些密码套件。
值为冒号分隔的字符串,比如 "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:TLS_DHE_RSA_WITH_AES_128_CBC_SHA"。
类型:String
public static let Tls13Ciphersuites: String = "tls1.3.ciphersuites"
功能:此选项指定客户端允许使用 TLSv1.3 的加密连接使用哪些密码套件。
值为冒号分隔的字符串,比如 "TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256"。
类型:String
public static let TlsVersion: String = "tls.version"
功能:支持的 TLS 版本号,值为逗号分隔的字符串,比如 "TLSv1.2,TLSv1.3"。
类型:String
public static let UpdateTimeout: String = "update_timeout"
功能:获取 update 操作的超时时间,单位 ms。
类型:String
public class SqlSmallInt <: SqlDbType {
public init(v: Int16)
} 功能:小整数,对应仓颉 Int16 类型。
public class SqlTime <: SqlDbType {
public init(v: DateTime)
} 功能:时间,仅时分秒毫秒有效,对应仓颉 DateTime 类型。
public class SqlTimeTz <: SqlDbType {
public init(v: DateTime)
} 功能:带时区的时间,仅时分秒毫秒时区有效,对应仓颉 DateTime 类型。
public class SqlTimestamp <: SqlDbType {
public init(v: DateTime)
} 功能:时间戳,对应仓颉 DateTime 类型。
public init(v: DateTime)
功能:根据传入参数 v 构造一个 SqlTimestamp 实例。
参数:
public class SqlVarchar <: SqlDbType {
public init(v: String)
} 功能:变长字符串,对应仓颉 String 类型。