数据库操作
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

144 lines
4.8 KiB

package dbquery
import (
"fmt"
"testing"
)
// 测试各数据库下各种情况
func Test_Chain(t *testing.T) {
//测试数据库连接
//err := Connect("127.0.0.1", "root", "root", "canyin", "3306")
err := PgConnect("192.168.233.145", "bin", "Bin123456", "canyin", "5432")
//err := DmConnect("192.168.233.141", "SHOPV2", "Bin123456", "", "5236")
if err != nil {
t.Log(err)
}
db_name := ""
table_name := "ttl_user_log"
//time := time.Now().Unix()
//================查询表结构===========
ret, err := new(Query).Db(db_name).GetTableInfo(table_name)
if err != nil {
t.Log(err)
}
fmt.Println("===GetTableInfo:", ret)
//==========获取信息=================
//info, err := new(Query).Db(db_name).Clean().Table(table_name).Where("id=?").Value("3").Title("*").Find()
//info, err := new(Query).Db(db_name).Clean().Table(table_name).Clean().Alias("user").Join([]string{"ttl_user u", "u.id = user.user_id", "inner"}).Where("user.id=?").Value("3").Title("user.id,user.user_id,u.nickname").Find()
info, err := GetDataByStmt(db_name, table_name, "*", []string{"id = ?"}, []interface{}{3}, nil)
if err != nil {
t.Log(err)
}
fmt.Println("===Find:", info)
//============获取列表==================
list, err := new(Query).Db(db_name).Clean().Table(table_name).Alias("u").Join([]string{"ttl_user user", "user.id = u.user_id", "inner"}).Where("user.id=?").Value(1).Title("user.id,user.nickname,user.status").Orderby("user.id desc").Page(1).PageSize(10).Select()
//list, err := DoQuery("select user.nickname,log.* from ttl_user user left join ttl_user_log log on user.id = log.user_id where user.id = ?", "1")
//list, err := GetListByStmt(db_name, table_name, "*", []string{"id = ?"}, []interface{}{3}, map[string]string{"id": "id asc"})
//list, err := QueryByStmt("select * from "+table_name+" where id < ?", []interface{}{10})
if err != nil {
t.Log(err)
}
fmt.Println("===List:", list)
//===========添加数据============
//insert_res, err := new(Query).Db(db_name).Clean().Table(table_name).Data("user_id=?").Value("1").Data("createtime=?").Value(time).Create()
//insert_res, err := InsertByStmt(db_name, table_name, []string{"user_id=?", "createtime=?"}, []interface{}{"1", time})
//insert_res, err := Insert(db_name, table_name, map[string]string{"user_id": "1", "createtime": helper.ToStr(time)})
//if err != nil {
// t.Log(err)
//}
//fmt.Println("===Insert:", insert_res)
//================更新数据=====================
//update_res, err := new(Query).Db(db_name).Clean().Table(table_name).Data("user_id=?").Value("2").Data("createtime=?").Value(time).Where("id=?").Value("6").Update()
//update_res, err := UpdateByStmt(db_name, table_name, []string{"createtime=?", "user_id=?"}, []string{"id=?"}, []interface{}{time, 3, 6})
//if err != nil {
// t.Log(err)
//}
//fmt.Println("===Update:", update_res)
//=============事务================
/*fmt.Println("================开启事务============")
tx, err := DB.Begin()
if err != nil {
t.Log(err)
}
update_log, err := TxPreUpdate(tx, db_name, table_name, []string{"createtime= ?"}, []string{"id=?"}, []interface{}{time, 2})
if err != nil {
tx.Rollback()
t.Log(err)
}
fmt.Println("===========事务执行:==================")
fmt.Println("===事务update:", update_log)
insert_log, err := TxPreInsert(tx, db_name, table_name, map[string]interface{}{"user_id": "1", "createtime": helper.ToStr(time)})
if err != nil {
tx.Rollback()
t.Log(err)
}
fmt.Println("===事务insert:", insert_log)
del_log, err := TxDelete(tx, db_name, table_name, map[string]string{"id": "2"})
if err != nil {
tx.Rollback()
t.Log(err)
}
fmt.Println("====事务delete:", del_log)
err = tx.Commit()
if err != nil {
t.Log(err)
tx.Rollback()
}
fmt.Println("=======事务执行完成==========")*/
/*fmt.Println("====================执行事务trans============")
trans := NewTxQuery().Db(db_name)
info_trans, err := trans.Clean().Table(table_name).Where("id = ?").Value(5).Find()
if err != nil {
trans.Rollback()
t.Log(err)
}
fmt.Println("===事务Find_trans:", info_trans)
list_trans, err := trans.Clean().Table(table_name).Title("*").Select()
if err != nil {
trans.Rollback()
t.Log(err)
}
fmt.Println("=========事务List_trans:", list_trans)
data := map[string]interface{}{
"user_id": 5,
"memo": "test",
"createtime": time,
}
add_trans, err := trans.Clean().Table(table_name).SaveData(data).CreateAll()
if err != nil {
trans.Rollback()
t.Log(err)
}
fmt.Println("======事务Add_trans:", add_trans)
data["id"] = 15
update_trans_res, err := trans.Clean().Table(table_name).SaveData(data).UpdateAll()
if err != nil {
trans.Rollback()
t.Log(err)
}
fmt.Println("=======事务update_trans", update_trans_res)
err = trans.Commit()
if err != nil {
trans.Rollback()
t.Log(err)
}
fmt.Println("====================执行事务结束==================")*/
}