67 lines
1.4 KiB
Go
67 lines
1.4 KiB
Go
package gorm
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
"github.com/Jetereting/gorm"
|
|
_ "github.com/go-sql-driver/mysql"
|
|
)
|
|
|
|
var (
|
|
db *gorm.DB
|
|
err error
|
|
)
|
|
|
|
func init() {
|
|
db, err = gorm.Open("mysql", "user:password@tcp(ip:port)/dbName?charset=utf8")
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
}
|
|
|
|
// TestQuery 测试查询
|
|
func TestQuery(t *testing.T) {
|
|
datas, e := db.RawMap("select * from users where user_id=?", 123)
|
|
if e != nil {
|
|
fmt.Println("err:", e)
|
|
}
|
|
fmt.Println("datas:", datas)
|
|
}
|
|
|
|
// TestIsCanInsert 测试插入
|
|
func TestIsCanInsert(t *testing.T) {
|
|
_, e := db.RawMap("insert into users(user_id,user_name,user_tag) values (?,?,?)", 123, "testName", "testTag")
|
|
if e != nil {
|
|
fmt.Println("err:", e)
|
|
}
|
|
fmt.Println("It work!")
|
|
}
|
|
|
|
// TestIsCanUpdate 测试更新
|
|
func TestIsCanUpdate(t *testing.T) {
|
|
_, e := db.RawMap("update users set user_name=? where user_id=?", "testName2", 123)
|
|
if e != nil {
|
|
fmt.Println("err:", e)
|
|
}
|
|
fmt.Println("It work!")
|
|
}
|
|
|
|
// TestTX 测试事物
|
|
func TestTX(t *testing.T) {
|
|
tx := db.Begin()
|
|
_, e := tx.RawMap("update users set user_name=? where user_id=?", "testName3", 123)
|
|
if e != nil {
|
|
fmt.Println("err:", e)
|
|
tx.Rollback()
|
|
}
|
|
_, e = tx.RawMap("update users set user_name=? where user_id=?", "long text....long text....long text....long text....long text....long text....long text....", 123)
|
|
if e != nil {
|
|
fmt.Println("err:", e)
|
|
tx.Rollback()
|
|
}
|
|
tx.Commit()
|
|
fmt.Println("done!")
|
|
}
|