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()
}
更改函数的名称,并替换底部的返回为db.close。像以前一样手动导入驱动程序。在VS代码中,单击测试功能旁边的绿色播放按钮,如果成功将出现这样的输出:
=== RUN TestDbConn
--- PASS: TestDbConn (0.00s)
PASS
ok github.com/JaisySymuri/postgre/test 1.010s