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