XORM入门,使用SQLite

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

XORM入门,使用SQLite

在页面中下载sqlite-tools-win32-x86-3380500.zip

; SQLite简单使用

在sqlite安装文件夹中双击sqlite3.exe使用sqlite,如下:

XORM入门,使用SQLite
XORM入门,使用SQLite

创建数据库

sqlite是区分大小写的!!!

初次使用,我们先创建一个数据库,使用.open命令,如下

XORM入门,使用SQLite

上面的命令创建了数据库文件 test.db,位于 sqlite3 命令同一目录下。
打开已存在数据库也是用 .open 命令,以上命令如果 test.db 存在则直接会打开,不存在就创建它。

; 查看数据库

一旦数据库被创建,您就可以使用 SQLite 的 .databases 命令来检查它是否在数据库列表中,如下所示:

XORM入门,使用SQLite

数据库创建成功后,我们就应该创建表了。

创建表

使用create table命令创建表,如下:

XORM入门,使用SQLite
sqlite> CREATE TABLE STUDENT(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL
);

查看表

创建表完成后,使用.tables查看表,如下:

XORM入门,使用SQLite

; 创建表记录,insert语句

使用insert语句插入记录,如下:

INSERT INTO STUDENT (ID,NAME,AGE) VALUES (1, 'Paul', 32);

XORM入门,使用SQLite

查看表数据,select语句

使用select语句查询表数据,如下:

SELECT * FROM STUDENT;

XORM入门,使用SQLite

此外,还可以设置格式化的输出,如下:

sqlite>.header on
sqlite>.mode column
sqlite> SELECT * FROM STUDENT;

XORM入门,使用SQLite

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)。如下:

XORM入门,使用SQLite

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入门,使用SQLite

试试xorm

我们使用bee run启动项目,试试我们的xorm,如下:

XORM入门,使用SQLite

我们使用bee run启动项目后,发现无法运行,项目报错。原因是sqlite需要用到gcc,所以我们需要去下载gcc。

; 下载gcc

gcc下载页面:Download | tdm-gcc (jmeubank.github.io)

我使用的是gcc 9.2,如下:

XORM入门,使用SQLite
; 安装gcc

直接一直next,小白安装法,一步到位

1、双击exe文件

2、选择create

XORM入门,使用SQLite

3、64位系统选择第二个

XORM入门,使用SQLite

4、选择安装目录

XORM入门,使用SQLite

5、选择组件

XORM入门,使用SQLite
配置gcc环境变量

安装gcc完成后,需要把他加入到环境变量中,如下:

XORM入门,使用SQLite

然后使用 gcc -v 命令验证gcc是否安装完成,如下:

XORM入门,使用SQLite

; 重新试试

程序中打上断点,debug模式运行项目,依然打开我们的swagger,然后测试刚刚的GetAllUsers接口,看看结果,如下:

swagger:

XORM入门,使用SQLite

项目调试:

XORM入门,使用SQLite

可以看到我们数据库中的结果是已经取出来了的。然后我们塞到我们需要的UserList去。

在swagger上面也可以看见结果了,如下:

XORM入门,使用SQLite

xorm学习

在上面的简单测试中,我们试了试xorm查找的Find方法,接下来,我们全面的讲讲xorm的东西。

文档 – XORM

Original: https://blog.csdn.net/qq_34060435/article/details/125264411
Author: 尤其是十月的风
Title: XORM入门,使用SQLite

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/817346/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球