Golang使用XORM(SQLite)
*
– 前言
– 安装SQLite
– SQLite简单使用
–
+ 创建数据库
+ 查看数据库
+ 创建表
+ 查看表
+ 创建表记录,insert语句
+ 查看表数据,select语句
– Golang使用SQLite(XORM)
–
+ 安装xorm
+ 使用xorm
+ 试试xorm
+
* 下载gcc
* 安装gcc
* 配置gcc环境变量
+ 重新试试
– xorm学习
前言
我们在beego搭建出来的api项目中,简单的对XORM(sqlite)进行一个学习使用,使用xorm。
安装SQLite
sqlite下载页面:SQLite Download Page
在页面中下载sqlite-tools-win32-x86-3380500.zip
; SQLite简单使用
在sqlite安装文件夹中双击sqlite3.exe使用sqlite,如下:
创建数据库
sqlite是区分大小写的!!!
初次使用,我们先创建一个数据库,使用.open命令,如下
上面的命令创建了数据库文件 test.db,位于 sqlite3 命令同一目录下。
打开已存在数据库也是用 .open 命令,以上命令如果 test.db 存在则直接会打开,不存在就创建它。
; 查看数据库
一旦数据库被创建,您就可以使用 SQLite 的 .databases 命令来检查它是否在数据库列表中,如下所示:
数据库创建成功后,我们就应该创建表了。
创建表
使用create table命令创建表,如下:
sqlite> CREATE TABLE STUDENT(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL
);
查看表
创建表完成后,使用.tables查看表,如下:
; 创建表记录,insert语句
使用insert语句插入记录,如下:
INSERT INTO STUDENT (ID,NAME,AGE) VALUES (1, 'Paul', 32);
查看表数据,select语句
使用select语句查询表数据,如下:
SELECT * FROM STUDENT;
此外,还可以设置格式化的输出,如下:
sqlite>.header on
sqlite>.mode column
sqlite> SELECT * FROM STUDENT;
Golang使用SQLite(XORM)
安装xorm
数据库创建好了,我们就先把他放在一边,不管了。
安装xorm:
go get xorm.io/xorm
安装sqlite驱动:
go get github.com/mattn/go-sqlite3
也可以直接在项目中去import,然后让Goland去帮我们自动下载。
使用xorm
xorm教程:介绍 · Go语言中文文档-xorm (topgoer.com)
我们在之前使用beego创建的api项目中,自己创建一个dao文件夹,然后在这里面创建一个sqlite.go文件,该文件的作用是和数据库打交道(CRUD)。如下:
dao/userDao.go
package dao
import (
"fmt"
"github.com/go-xorm/xorm"
_ "github.com/mattn/go-sqlite3"
)
var (
Engine *xorm.Engine
)
func init() {
var err error
Engine, err = xorm.NewEngine("sqlite3", "D:/my/sqlite/install/sqlite-tools-win32-x86-3380500/test.db")
if err != nil {
fmt.Println(err)
}
fmt.Println("数据库引擎创建成功")
err = Engine.Ping()
if err != nil {
fmt.Println(err)
}
fmt.Println("数据库连接成功")
}
然后在models里面调用我们的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
}
从这里代码可以发现我查询的是users表,但是这个表和我上面示例创建的student表差不多,只是字段的区别,不用在意。
试试xorm
我们使用bee run启动项目,试试我们的xorm,如下:
我们使用bee run启动项目后,发现无法运行,项目报错。原因是sqlite需要用到gcc,所以我们需要去下载gcc。
; 下载gcc
gcc下载页面:Download | tdm-gcc (jmeubank.github.io)
我使用的是gcc 9.2,如下:
; 安装gcc
直接一直next,小白安装法,一步到位
1、双击exe文件
2、选择create
3、64位系统选择第二个
4、选择安装目录
5、选择组件
配置gcc环境变量
安装gcc完成后,需要把他加入到环境变量中,如下:
然后使用 gcc -v 命令验证gcc是否安装完成,如下:
; 重新试试
程序中打上断点,debug模式运行项目,依然打开我们的swagger,然后测试刚刚的GetAllUsers接口,看看结果,如下:
swagger:
项目调试:
可以看到我们数据库中的结果是已经取出来了的。然后我们塞到我们需要的UserList去。
在swagger上面也可以看见结果了,如下:
xorm学习
在上面的简单测试中,我们试了试xorm查找的Find方法,接下来,我们全面的讲讲xorm的东西。
Original: https://blog.csdn.net/qq_34060435/article/details/125264411
Author: 尤其是十月的风
Title: XORM入门,使用SQLite
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/817346/
转载文章受原作者版权保护。转载请注明原作者出处!