Go接口参考
- Zenith的Go驱动基于Go语言定义的sql接口实现,应用import Zenith Go驱动,并执行init方法注册驱动。Go语言标准sql接口请参考以下链接:https://golang.org/pkg/database/sql/。
参数名称 |
参数说明 |
---|---|
user |
string型变量,指定连接数据库的用户名。 |
passwd |
string型变量,指定登录数据库的用户密码。 |
host |
string型变量,指定数据库服务端所在ip。 |
port |
string型变量,指定数据库服务监听端口。 |
ssl_ca |
string型变量,SSL的ca文件,如果服务端要求使用ssl连接则需要设置该参数。 |
ssl_cert |
string型变量,SSL的client-cert文件,如果服务端要求使用ssl连接则需要设置该参数。 |
ssl_key |
string型变量,SSL的client-key文件,如果服务端要求使用ssl连接则需要设置该参数。 |
ssl_crl |
string型变量,SSL的crl文件,如果没有可以为空 |
ssl_keypwd |
string型变量,生成SSL时的密码,如果没有设置可以为空 |
ssl_mode |
string型变量,有4中模式: disabled(禁用SSL连接) preferred (优先使用SSL连接,如果服务端不支持SSL也可连接成功,默认值) required (必须使用SSL连接,如果服务端不支持SSL,会导致连接建立失败) verify_ca (校验服务端CA证书信息) verify_full (必须使用SSL连接,并且校验服务端证书及证书中的CN字段是否为服务端IP地址) |
socket_timeout |
int型变量,设置socket超时时间,单位为秒,不设置是为系统默认值600s |
exit_commit |
预留参数,禁止使用 |
serveroutput |
预留参数,禁止使用 |
charset_type |
预留参数,禁止使用 |
ssl_cipher |
预留参数,禁止使用 |
connect_timeout |
预留参数,禁止使用 |
nls_characterset |
预留参数,禁止使用 |
nls_comp |
预留参数,禁止使用 |
nls_currency |
预留参数,禁止使用 |
iso_currency |
预留参数,禁止使用 |
language |
预留参数,禁止使用 |
length_semamtics |
预留参数,禁止使用 |
nchar_characterset |
预留参数,禁止使用 |
nchar_conv_excp |
预留参数,禁止使用 |
numberric_characters |
预留参数,禁止使用 |
rdbms_version |
预留参数,禁止使用 |
sort |
预留参数,禁止使用 |
territory |
预留参数,禁止使用 |
prefetch_rows |
预留参数,禁止使用 |
prefetch_buffer |
预留参数,禁止使用 |
- 基于Zenith Go驱动中实现的方法,目前开发人员可以调用的GO语言标准接口的方法如下表所示:
方法 |
描述 |
返回值 |
---|---|---|
Open(driverName, dataSourceName string) |
基于Zenith Go驱动名称和描述字符串打开数据库 |
*DB, error |
方法 |
描述 |
返回值 |
---|---|---|
(db *DB)Begin() |
开始一个事务 |
*Tx, error |
(db *DB)Prepare(query string) |
为以后的查询或执行创建一个准备好的语句。当语句不再需要时,调用者必须调用语句的 Close 方法 |
*Stmt, error |
(db *DB)Query(query string, args ...interface{}) |
查询执行一个返回行的查询。类型为*DB。 |
*Rows, error |
(db *DB)Exec(query string, args ...interface{}) |
执行查询而不返回任何行。 |
Result, error |
(db *DB)Close() |
Close 关闭数据库,释放所有打开的资源。 |
error |
方法 |
描述 |
返回值 |
---|---|---|
(rs *Rows)Scan(dest ...interface{}) |
将当前行中的列复制到dest指向的值中。 |
error |
(rs *Rows) Next() |
准备下一个结果行以便用 Scan 方法读取。 |
如果有进一步的结果集,则返回 true;如果没有进一步的结果集或者有错误前进,则返回 false。 |
(rs *Rows) Close() |
关闭行,防止进一步枚举。 |
error |
方法 |
描述 |
返回值 |
---|---|---|
(s *Stmt) Query(args ...interface{}) |
查询使用给定的参数执行准备好的查询语句,并将查询结果作为 *Row 返回。 |
*Rows, error |
(s *Stmt) Exec(args ...interface{}) |
Exec 使用给定的参数执行一个准备好的语句,并返回一个总结语句效果的 Result 。 |
Result,error |
(s *Stmt) Close() |
关闭行,防止进一步枚举。 |
error |
方法 |
描述 |
返回值 |
---|---|---|
(tx *Tx) Exec(query string, args ...interface{}) |
执行不返回行的查询。 |
Result,error |
(tx *Tx) Commit() |
提交事务。 |
error |
(tx *Tx) Rollback() |
回滚事务。 |
error |
方法 |
描述 |
返回值 |
---|---|---|
(res Result) RowsAffected() |
返回受影响的行数。 |
int64, error |