用Golang打开与Postgres数据库的连接
#教程 #postgres #go #indonesia

CEK文件文件V1

存储库/源代码:https://github.com/JaisySymuri/postgre

创建一个新项目(Ex:postgre),然后在终端类型的“ Go Mod Init”中创建,然后是您想要的。通常是项目文件夹或git地址的名称。

go mod init postgre

要学习自己,只需使用文件夹的名称,但是如果您打算共享项目,最好使用git地址。

 go mod init github.com/JaisySymuri/postgre

在本教程中,因为我不会称呼另一个文件夹的函数,因此文件夹或git地址的名称之间将没有区别。但是,如果您调用该功能,则导入部分会有所不同。

import (
    "postgre/folder_lain"   
)

vs

import (
    "github.com/JaisySymuri/postgre/folder_lain"    
)

IDEA VSCODE或GOLAND足够聪明,可以检测您需要的包装并自动导入自己。但是,如果有错误的导入或想法无法检测到所需的软件包,则需要手动添加它。

好吧,然后使用play软件包创建一个main.go文件。然后输入以下代码:

package main

// const berisi variable database yang ingin kita hubungi
const (
    host     = "localhost"
    port     = 9393
    user     = "postgres"
    password = "Sandhiguna"
    dbname   = "tutorial"
)

// dbConn berfungsi untuk menghubungi database
func dbConn() (db *sql.DB) {
    psqlconn := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=disable", host, port, user, password, dbname)

    db, err := sql.Open("postgres", psqlconn)
    if err != nil {
        log.Fatal("Could not connect to the database:", err)
    }

    return db
}

在VSCODE上,如果按CTRL+S,该想法将自动导入所需的软件包。在Goland,您无需做任何事情,他会自动进口。

数据库软件包已自动导入,即“数据库/SQL”。但这还不够,它也需要导入驱动程序

go get github.com/lib/pq

然后,我们自己导入驾驶员的名字。由于不使用驱动程序本身的功能,因此我们只需要主动,我们需要在驱动程序之前添加“ _”符号。这样:

import (
    "database/sql"
    "fmt"
    "log"
    _ "github.com/lib/pq"
)

“ psqlconn”是一个结合我们之前写过的常数的变量。然后,我们使用“ SQL”“打开”“打开”函数打开连接。然后调整错误的处理和返回

单元测试

要检查连接是否完全连接,我们将使用单元测试。创建一个具有名称“ TEST”的新文件夹,并通过包装测试创建一个文件“ Connection_Test.go”。请记住,单位测试文件必须结束“ _test.go”。复制粘贴以下代码,并按以下方式编辑:

const (
    host     = "localhost"
    port     = 9393
    user     = "postgres"
    password = "Sandhiguna"
    dbname   = "tutorial"
)

func TestDbConn(t *testing.T) {
    psqlconn := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=disable", host, port, user, password, dbname)

    db, err := sql.Open("postgres", psqlconn)
    if err != nil {
        log.Fatal("Could not connect to the database:", err)
    }

    db.Close()
}


JS

更改函数的名称,并替换底部的返回为db.close。像以前一样手动导入驱动程序。在VS代码中,单击测试功能旁边的绿色播放按钮,如果成功将出现这样的输出:

=== RUN   TestDbConn
--- PASS: TestDbConn (0.00s)
PASS
ok      github.com/JaisySymuri/postgre/test     1.010s

最后,为了促进知识和回滚的转移,我将玩。因此,如果您只是研究这个阶段,当您检查完整的存储库之前,您不会感到困惑。只需检查V1文件即可。回滚过程也将更容易

存储库/源代码:https://github.com/JaisySymuri/postgre