Golang(7)Database Layer
5.1 database/sql Interface
sql.Register
Register(name string, driver driver.Driver) register the driver you add to the golang system.
https://github.com/mattn/go-sqlite3
func init() {
sql.Register(“sqlite3”, &SQLiteDriver{})
}
https://github.com/mikespook/mymysql
var d = Driver{proto: “tcp”, raddr: “127.0.0.1:3306” }
func init() {
Register(“SET NAMES utf8”)
sql.Register(“mymysql”, &d)
}
For example
import (
“database/sql”
_ “github.com/mattn/go-sqlite3"
)
If we import this package, it will automatically call the init method in that package.
driver.Driver
type Driver interface {
Open(name string) (Conn, error)
}
The name parameter will be used to retrieve the database connection info.
We can use this Conn to do one go routine execution, but you can not use it twice.
driver.Conn
type Conn interface {
Prepare(query string) (Stmt, error)
Close() error
Begin() (Tx, error)
}
Tx is short for transaction.
driver.Stmt
type Stmt interface {
Close() error
NumInput() int
Exec(args []Value) (Result, error)
Query(args []Value) (Rows, error)
}
driver.Tx
type Tx interface {
Commit() error
Rollback() error
}
driver.Execer
type Execer interface {
Exec(query string, args []Value) (Result, error)
}
driver.Result
The response and return value of Update/Insert
type Result interface {
LastInsertId() (int64, error)
RowsAffected() (int64, error)
}
driver.Rows
Return value of Query
type Rows interface {
Columns() []string
Close() error
Next(dest []Value) error
}
Columns is the Column information from Table
driver.RowsAffected
type RowsAffected int64
driver.Value
type Value interface{}
It can hold all the different types of values. For example: int64, float64, bool, []byte, string, time.Time
driver.ValueConverter
driver.Valuer
database/sql
type DB struct {
driver driver.Driver
dsn string
mu sync.Mutex
freeConn []driver.Conn
closed bool
}
5.2 Using MYSQL DB
https://github.com/go-sql-driver/mysql
5.3 Using Sqlite DB
https://github.com/mattn/go-sqlite3
Sqlite3 administrator tool
http://sqliteadmin.orbmu2k.de/
5.4 Using PostgreSQL DB
https://github.com/lib/pq
5.5 BeeDB
5.6 NoSQL (Not Only SQL)
redis, mongoDB, Cassandra, Membase
…todo…
References:
https://github.com/astaxie/build-web-application-with-golang/blob/master/ebook/05.0.md
Redis 1~ 6
http://sillycat.iteye.com/blog/1549504
http://sillycat.iteye.com/blog/1553507
http://sillycat.iteye.com/blog/1553508
http://sillycat.iteye.com/blog/1553509
http://sillycat.iteye.com/blog/2028180
http://sillycat.iteye.com/blog/2033094
MongoDB 1 ~ 5
http://sillycat.iteye.com/blog/1547291
http://sillycat.iteye.com/blog/1547292
http://sillycat.iteye.com/blog/1547294
http://sillycat.iteye.com/blog/1965857
http://sillycat.iteye.com/blog/1965880
- 浏览: 2540022 次
- 性别:
- 来自: 成都
最新评论
-
nation:
你好,在部署Mesos+Spark的运行环境时,出现一个现象, ...
Spark(4)Deal with Mesos -
sillycat:
AMAZON Relatedhttps://www.godad ...
AMAZON API Gateway(2)Client Side SSL with NGINX -
sillycat:
sudo usermod -aG docker ec2-use ...
Docker and VirtualBox(1)Set up Shared Disk for Virtual Box -
sillycat:
Every Half an Hour30 * * * * /u ...
Build Home NAS(3)Data Redundancy -
sillycat:
3 List the Cron Job I Have>c ...
Build Home NAS(3)Data Redundancy
相关推荐
Golang 数据可视化利器 go-echarts 监控 Oracle Database 在本文中,我们将探讨如何使用 Golang 和 go-echarts 库来监控 Oracle Database,实现数据可视化。下面是相关知识点: 1. go-echarts 库简介 go-echarts ...
在Windows操作系统中,尤其是Win7和Win8,为了提高系统的安全性,微软引入了用户账户控制(User Account Control,简称UAC)机制。UAC限制了普通用户账户的权限,防止未经许可的更改对系统造成影响。然而,在开发...
golang 1.22.7 下载, windows/linux/maos 平台下载 下载日期 2024-09-12
centos7环境下vscode 搭建golang环境所需的第三方依赖包 含有dlv,gocode,godef,golint,go-outline,gopkgs,gorename,goreturns,go-symbols,guru这10个 放在你的gopath/bin目录中就可以使用
weixin-golang-sdk 微信golang工具包
在与数据库交互方面,Go 提供了多种库和驱动,其中之一就是 "golang-odbc",它允许 Go 代码与支持 ODBC(Open Database Connectivity)的数据库进行通信。ODBC 是一个标准的 API,它提供了一个统一的方式来访问各种...
macross-master 高效的WEB框架开发(有调整) The Macross Web Framework By Insion If you are using standard http, you may use a similar macross package makross which is adapted from Macross.
Golang 1.18.10 Windows安装包。Golang 1.18.10 Windows安装包。Golang 1.18.10 Windows安装包。Golang 1.18.10 Windows安装包。Golang 1.18.10 Windows安装包。Golang 1.18.10 Windows安装包。Golang 1.18.10 ...
golang_http_client
Go语言,又称Golang,是由Google开发的一种静态类型、编译型、并发型且具有垃圾回收功能的编程语言。它设计的目标是提高开发者的生产效率,同时保持系统级编程的性能。Go语言的设计受到了C、 Pascal、 Miranda和...
7. **golang.org/x/mobile**:针对移动平台的开发,如iOS和Android,提供了游戏开发、图形渲染和原生应用绑定等功能。 8. **golang.org/x/time**:扩展了标准库中的time包,提供了定时器和计时器功能,以及更灵活的...
Golang Windows 1.19.1版本安装包
golang 实现海康相机抓拍,目前只支持球机。需要在代码中设置用户名和密码。 如何调试?用vscode打开,安装golang插件,即可直接调试运行。 编译与运行:运行go build命令,将HKnet.exe拷贝到build\Windows下,运行...
7. **文档与示例**:walk项目提供了详尽的文档和多个示例代码,方便开发者学习和参考。 8. **持续更新与社区支持**:Luke Mahe和社区成员不断维护和更新walk框架,修复已知问题并添加新功能,确保其保持活力。 在...
7. **兼容性和生态系统**:作为一门比较年轻的编程语言,Golang的社区和生态系统正在快速发展。百度APP在采用Go语言时,能够利用社区提供的丰富库和工具,减少从零开始开发工作量。 需要注意的是,尽管Golang语言在...
Golang,作为一种现代且高效的编程语言,因其强大的系统级编程能力和并发特性而受到广泛欢迎。在本文中,我们将深入探讨如何利用Golang实现这个功能,并了解相关的核心知识点。 首先,我们需要了解的是Golang的图形...
golang提取office文件内容,可以支持正常office文件内容格式,可以很好的提取标点以及内在格式内容
7. **golang.org/x/tools**:一系列的 Go 开发工具,包括代码格式化(gofmt)、性能分析(pprof)、包依赖分析等。 8. **golang.org/x/time**:时间处理的扩展,提供了定时器、延迟执行等高级功能。 9. **golang....
golang函数查询手册.chm
Golang中文API,由热心网友翻译上传