Golong
文章目录
- Golong
- 1.操作数据库
- 1.1获取数据库连接
- 1.2增删改操作
- 1.3 单元测试
1.操作数据库
Go 语言中的 database/sql 包定义了对数据库的一系列操作。database/sql/driver包定义了应被数据库驱动实现的接口,这些接口会被 sql 包使用。但是 Go 语言没有提供任何官方的数据库驱动,所以我们需要导入第三方的数据库驱动。不过我们连接数据库之后对数据库操作的大部分代码都使用 sql 包。
1.1获取数据库连接
创建一个 db.go 文件,导入 database/sql 包以及第三方驱动包
package chapter02
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
var(
Db *sql.DB
err error
)
func init() {
Db, err = sql.Open("mysql", "root:root@tcp(localhost:3306)/test")
if err != nil {
panic(err.Error())
}
}
1.2增删改操作
向 users 表中插入一条记录
创建 user.go 文件,文件中编写一下代码
package model01
import (
"fmt"
"go_code02/webapp/chapter02"
)
type User struct { ID int
Username string
Password string
Email string
}
func (user *User) AddUser() error {
// 写 sql 语句
sqlStr := "insert into users(username , password , email) values(?,?,?)"
//预编译
stmt, err := chapter02.Db.Prepare(sqlStr)
if err != nil {
fmt.Println("预编译出现异常:", err)
return err
}
//执行
_, erro := stmt.Exec(user.Username, user.Password, user.Email)
if erro != nil {
fmt.Println("执行出现异常:", erro)
return erro
}
return nil
}
1.3 单元测试
package model01
import (
"fmt"
"testing"
)
func TestAddUser(t *testing.T) {
fmt.Println("测试添加用户:")
user := &User{
Username: "admin3",
Password: "123456",
Email: "admin3@atguigu.com",
}
//将 user 添加到数据库中
user.AddUser()
}
测试
go test
查看一下数据库
成功