XORM入门,使用SQLite
Golang使用XORM(SQLite)
- 前言
- 安裝SQLite
- SQLite簡(jiǎn)單使用
- 創(chuàng)建數(shù)據(jù)庫(kù)
- 查看數(shù)據(jù)庫(kù)
- 創(chuàng)建表
- 查看表
- 創(chuàng)建表記錄,insert語(yǔ)句
- 查看表數(shù)據(jù),select語(yǔ)句
- Golang使用SQLite(XORM)
- 安裝xorm
- 使用xorm
- 試試xorm
- 下載gcc
- 安裝gcc
- 配置gcc環(huán)境變量
- 重新試試
- xorm學(xué)習(xí)
前言
我們?cè)赽eego搭建出來(lái)的api項(xiàng)目中,簡(jiǎn)單的對(duì)XORM(sqlite)進(jìn)行一個(gè)學(xué)習(xí)使用,使用xorm。
安裝SQLite
sqlite下載頁(yè)面:SQLite Download Page
在頁(yè)面中下載sqlite-tools-win32-x86-3380500.zip
SQLite簡(jiǎn)單使用
在sqlite安裝文件夾中雙擊sqlite3.exe使用sqlite,如下:
創(chuàng)建數(shù)據(jù)庫(kù)
sqlite是區(qū)分大小寫的!!!
初次使用,我們先創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),使用.open命令,如下
上面的命令創(chuàng)建了數(shù)據(jù)庫(kù)文件 test.db,位于 sqlite3 命令同一目錄下。
打開已存在數(shù)據(jù)庫(kù)也是用 .open 命令,以上命令如果 test.db 存在則直接會(huì)打開,不存在就創(chuàng)建它。
查看數(shù)據(jù)庫(kù)
一旦數(shù)據(jù)庫(kù)被創(chuàng)建,您就可以使用 SQLite 的 .databases 命令來(lái)檢查它是否在數(shù)據(jù)庫(kù)列表中,如下所示:
數(shù)據(jù)庫(kù)創(chuàng)建成功后,我們就應(yīng)該創(chuàng)建表了。
創(chuàng)建表
使用create table命令創(chuàng)建表,如下:
sqlite> CREATE TABLE STUDENT(ID INT PRIMARY KEY NOT NULL,NAME TEXT NOT NULL,AGE INT NOT NULL );查看表
創(chuàng)建表完成后,使用.tables查看表,如下:
創(chuàng)建表記錄,insert語(yǔ)句
使用insert語(yǔ)句插入記錄,如下:
INSERT INTO STUDENT (ID,NAME,AGE) VALUES (1, 'Paul', 32);查看表數(shù)據(jù),select語(yǔ)句
使用select語(yǔ)句查詢表數(shù)據(jù),如下:
SELECT * FROM STUDENT;此外,還可以設(shè)置格式化的輸出,如下:
sqlite>.header on sqlite>.mode column sqlite> SELECT * FROM STUDENT;Golang使用SQLite(XORM)
安裝xorm
數(shù)據(jù)庫(kù)創(chuàng)建好了,我們就先把他放在一邊,不管了。
安裝xorm:
go get xorm.io/xorm安裝sqlite驅(qū)動(dòng):
go get github.com/mattn/go-sqlite3也可以直接在項(xiàng)目中去import,然后讓Goland去幫我們自動(dòng)下載。
使用xorm
xorm教程:介紹 · Go語(yǔ)言中文文檔-xorm (topgoer.com)
我們?cè)谥笆褂胋eego創(chuàng)建的api項(xiàng)目中,自己創(chuàng)建一個(gè)dao文件夾,然后在這里面創(chuàng)建一個(gè)sqlite.go文件,該文件的作用是和數(shù)據(jù)庫(kù)打交道(CRUD)。如下:
dao/userDao.go
package daoimport ("fmt""github.com/go-xorm/xorm"_ "github.com/mattn/go-sqlite3" )var (Engine *xorm.Engine )func init() {var err errorEngine, err = xorm.NewEngine("sqlite3", "D:/my/sqlite/install/sqlite-tools-win32-x86-3380500/test.db")if err != nil {fmt.Println(err)}fmt.Println("數(shù)據(jù)庫(kù)引擎創(chuàng)建成功")err = Engine.Ping()if err != nil {fmt.Println(err)}fmt.Println("數(shù)據(jù)庫(kù)連接成功") }然后在models里面調(diào)用我們的dao層,如下:
models/user.go
type User struct {Id string `xorm:"ID pk"`Username string `xorm:"USERNAME"`Password string `xorm:"PASSWORD"`Profile Profile `xorm:"-"` } ...... ...... ...... func GetAllUsers() map[string]*User {allUsers := make([]*User, 0)err := dao.Engine.Table("users").Find(&allUsers)if err != nil {fmt.Println(err)}for _, v := range allUsers {UserList[v.Id] = v}return UserList }從這里代碼可以發(fā)現(xiàn)我查詢的是users表,但是這個(gè)表和我上面示例創(chuàng)建的student表差不多,只是字段的區(qū)別,不用在意。
試試xorm
我們使用bee run啟動(dòng)項(xiàng)目,試試我們的xorm,如下:
我們使用bee run啟動(dòng)項(xiàng)目后,發(fā)現(xiàn)無(wú)法運(yùn)行,項(xiàng)目報(bào)錯(cuò)。原因是sqlite需要用到gcc,所以我們需要去下載gcc。
下載gcc
gcc下載頁(yè)面:Download | tdm-gcc (jmeubank.github.io)
我使用的是gcc 9.2,如下:
安裝gcc
直接一直next,小白安裝法,一步到位
1、雙擊exe文件
2、選擇create
3、64位系統(tǒng)選擇第二個(gè)
4、選擇安裝目錄
5、選擇組件
配置gcc環(huán)境變量
安裝gcc完成后,需要把他加入到環(huán)境變量中,如下:
然后使用 gcc -v 命令驗(yàn)證gcc是否安裝完成,如下:
重新試試
程序中打上斷點(diǎn),debug模式運(yùn)行項(xiàng)目,依然打開我們的swagger,然后測(cè)試剛剛的GetAllUsers接口,看看結(jié)果,如下:
swagger:
項(xiàng)目調(diào)試:
可以看到我們數(shù)據(jù)庫(kù)中的結(jié)果是已經(jīng)取出來(lái)了的。然后我們?nèi)轿覀冃枰腢serList去。
在swagger上面也可以看見結(jié)果了,如下:
xorm學(xué)習(xí)
在上面的簡(jiǎn)單測(cè)試中,我們?cè)嚵嗽噚orm查找的Find方法,接下來(lái),我們?nèi)娴闹v講xorm的東西。
文檔 - XORM
總結(jié)
以上是生活随笔為你收集整理的XORM入门,使用SQLite的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 压力变送器使用前要怎样校验呢
- 下一篇: NewYorkCityAirbnb房源分