在win10平台上,go-sqlite3需要SQLite3的动态链接库、GCC编译器和go-sqlite3源码包。下面介绍在win10 64位上配置go-sqlite3,步骤如下:
一、下载相关文件
- 下载sqlite-dll-win32-x86-XXX.zip
- 下载GCC 64位 编译器,比如MinGW-W64 GCC-8.1
- 下载go-sqlite3源码包
1.1 在 SQLite官网,下载sqlite-dll-win32-x86-XXX.zip,解压后,将里面的*.dll全部拷贝到C:\Windows\System32,如图(1)所示:
1.2 在Sourceforge官网,下载MinGW-W64 GCC-8.1,解压到D盘根目录,得到D:\mingw64,也就是GCC 64编译器,如图(2)、图(3)所示,再在系统环境变量Path里,添加GCC的编译路径,如图(4)所示:
//在系统环境变量Path里,添加如下路径:
D:\mingw64\bin
1.3 在GitHub官网,搜索mattn/go-sqlite3,点击[Code] --> Download Zip下载即可,将其解压到你的GOPATH/scr/github.com/mattn路径,
假设你的GOPATH = D:/GoProjects,
则解压后的路径为:
D:\GoProjects\src\github.com\mattn
然后,将go-sqlite3-master文件夹的名称称改成go-sqlite3即可。如图(3)、(4)、(5)所示:
二、创建一个SQLite3的数据库文件
2.1 使用SQLiteStudio软件创建一个SQLite3数据库文件,名称为userdemo.db
2.2 在userdemo.db里创建一个student表,有2个属性:id和name,其中,id是主键,非空;如图(5)所示:
三、测试go-sqlite3
3.1 把userdemo.db放到D盘根目录下
3.2 编写扫描数据库的测试代码
//mySqlite3Link.go
// mySQLiteLink project main.go
package main
import (
"database/sql"
"fmt"
_ "github.com/mattn/go-sqlite3"
)
func checkErr(err error) {
if err != nil {
panic(err)
}
}
func main() {
db, err := sql.Open("sqlite3", "D:/userdemo.db")
checkErr(err)
//查询数据
rows, err := db.Query("SELECT * FROM student")
checkErr(err)
for rows.Next() {
var id int
var name string
err = rows.Scan(&id, &name)
checkErr(err)
fmt.Println(id, name)
}
db.Close()
}
效果如下:
能够读取数据里的记录,说明go-sqlite3环境配置成功。
附录
1.查看GOPATH路径
按Win+R,输入cmd,在输入go env,即可查看GOPATH路径,如图(8)所示: