|
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("====================执行事务结束==================")*/
|
|
}
|