mirror of
https://github.com/tangpanqing/aorm.git
synced 2025-10-06 08:26:55 +08:00
new test
This commit is contained in:
@@ -9,8 +9,6 @@ import (
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
"github.com/tangpanqing/aorm"
|
||||
"github.com/tangpanqing/aorm/builder"
|
||||
"github.com/tangpanqing/aorm/helper"
|
||||
"github.com/tangpanqing/aorm/model"
|
||||
"github.com/tangpanqing/aorm/null"
|
||||
"testing"
|
||||
"time"
|
||||
@@ -59,21 +57,29 @@ type PersonWithArticleCount struct {
|
||||
ArticleCount null.Int `aorm:"comment:文章数量" json:"articleCount"`
|
||||
}
|
||||
|
||||
var person = Person{}
|
||||
var article = Article{}
|
||||
var articleVO = ArticleVO{}
|
||||
|
||||
func TestAll(t *testing.T) {
|
||||
aorm.Store(&person, &article)
|
||||
aorm.Store(&articleVO)
|
||||
|
||||
dbList := make([]aorm.DbContent, 0)
|
||||
dbList = append(dbList, testSqlite3Connect())
|
||||
//dbList = append(dbList, testSqlite3Connect())
|
||||
dbList = append(dbList, testMysqlConnect())
|
||||
dbList = append(dbList, testPostgresConnect())
|
||||
dbList = append(dbList, testMssqlConnect())
|
||||
//dbList = append(dbList, testPostgresConnect())
|
||||
//dbList = append(dbList, testMssqlConnect())
|
||||
|
||||
for i := 0; i < len(dbList); i++ {
|
||||
dbItem := dbList[i]
|
||||
|
||||
testMigrate(dbItem.DriverName, dbItem.DbLink)
|
||||
//testMigrate(dbItem.DriverName, dbItem.DbLink)
|
||||
|
||||
testShowCreateTable(dbItem.DriverName, dbItem.DbLink)
|
||||
//testShowCreateTable(dbItem.DriverName, dbItem.DbLink)
|
||||
|
||||
id := testInsert(dbItem.DriverName, dbItem.DbLink)
|
||||
fmt.Println(id)
|
||||
testInsertBatch(dbItem.DriverName, dbItem.DbLink)
|
||||
|
||||
testGetOne(dbItem.DriverName, dbItem.DbLink, id)
|
||||
@@ -83,44 +89,44 @@ func TestAll(t *testing.T) {
|
||||
if isExists != true {
|
||||
panic("应该存在,但是数据库不存在")
|
||||
}
|
||||
|
||||
testDelete(dbItem.DriverName, dbItem.DbLink, id)
|
||||
isExists2 := testExists(dbItem.DriverName, dbItem.DbLink, id)
|
||||
if isExists2 == true {
|
||||
panic("应该不存在,但是数据库存在")
|
||||
}
|
||||
|
||||
id2 := testInsert(dbItem.DriverName, dbItem.DbLink)
|
||||
testTable(dbItem.DriverName, dbItem.DbLink)
|
||||
testSelect(dbItem.DriverName, dbItem.DbLink)
|
||||
testSelectWithSub(dbItem.DriverName, dbItem.DbLink)
|
||||
testWhereWithSub(dbItem.DriverName, dbItem.DbLink)
|
||||
testWhere(dbItem.DriverName, dbItem.DbLink)
|
||||
testJoin(dbItem.DriverName, dbItem.DbLink)
|
||||
testGroupBy(dbItem.DriverName, dbItem.DbLink)
|
||||
testHaving(dbItem.DriverName, dbItem.DbLink)
|
||||
testOrderBy(dbItem.DriverName, dbItem.DbLink)
|
||||
testLimit(dbItem.DriverName, dbItem.DbLink)
|
||||
testLock(dbItem.DriverName, dbItem.DbLink, id2)
|
||||
|
||||
testIncrement(dbItem.DriverName, dbItem.DbLink, id2)
|
||||
testDecrement(dbItem.DriverName, dbItem.DbLink, id2)
|
||||
|
||||
testValue(dbItem.DriverName, dbItem.DbLink, id2)
|
||||
|
||||
testPluck(dbItem.DriverName, dbItem.DbLink)
|
||||
|
||||
testCount(dbItem.DriverName, dbItem.DbLink)
|
||||
testSum(dbItem.DriverName, dbItem.DbLink)
|
||||
testAvg(dbItem.DriverName, dbItem.DbLink)
|
||||
testMin(dbItem.DriverName, dbItem.DbLink)
|
||||
testMax(dbItem.DriverName, dbItem.DbLink)
|
||||
|
||||
testExec(dbItem.DriverName, dbItem.DbLink)
|
||||
|
||||
testTransaction(dbItem.DriverName, dbItem.DbLink)
|
||||
//
|
||||
//testDelete(dbItem.DriverName, dbItem.DbLink, id)
|
||||
//isExists2 := testExists(dbItem.DriverName, dbItem.DbLink, id)
|
||||
//if isExists2 == true {
|
||||
// panic("应该不存在,但是数据库存在")
|
||||
//}
|
||||
//
|
||||
//id2 := testInsert(dbItem.DriverName, dbItem.DbLink)
|
||||
//testTable(dbItem.DriverName, dbItem.DbLink)
|
||||
//testSelect(dbItem.DriverName, dbItem.DbLink)
|
||||
//testSelectWithSub(dbItem.DriverName, dbItem.DbLink)
|
||||
//testWhereWithSub(dbItem.DriverName, dbItem.DbLink)
|
||||
//testWhere(dbItem.DriverName, dbItem.DbLink)
|
||||
//testJoin(dbItem.DriverName, dbItem.DbLink)
|
||||
//testGroupBy(dbItem.DriverName, dbItem.DbLink)
|
||||
//testHaving(dbItem.DriverName, dbItem.DbLink)
|
||||
//testOrderBy(dbItem.DriverName, dbItem.DbLink)
|
||||
//testLimit(dbItem.DriverName, dbItem.DbLink)
|
||||
//testLock(dbItem.DriverName, dbItem.DbLink, id2)
|
||||
//
|
||||
//testIncrement(dbItem.DriverName, dbItem.DbLink, id2)
|
||||
//testDecrement(dbItem.DriverName, dbItem.DbLink, id2)
|
||||
//
|
||||
//testValue(dbItem.DriverName, dbItem.DbLink, id2)
|
||||
//
|
||||
//testPluck(dbItem.DriverName, dbItem.DbLink)
|
||||
//
|
||||
//testCount(dbItem.DriverName, dbItem.DbLink)
|
||||
//testSum(dbItem.DriverName, dbItem.DbLink)
|
||||
//testAvg(dbItem.DriverName, dbItem.DbLink)
|
||||
//testMin(dbItem.DriverName, dbItem.DbLink)
|
||||
//testMax(dbItem.DriverName, dbItem.DbLink)
|
||||
//
|
||||
//testExec(dbItem.DriverName, dbItem.DbLink)
|
||||
//
|
||||
//testTransaction(dbItem.DriverName, dbItem.DbLink)
|
||||
//testTruncate(dbItem.DriverName, dbItem.DbLink)
|
||||
testHelper(dbItem.DriverName, dbItem.DbLink)
|
||||
//testHelper(dbItem.DriverName, dbItem.DbLink)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -199,7 +205,7 @@ func testShowCreateTable(driver string, db *sql.DB) {
|
||||
func testInsert(driver string, db *sql.DB) int64 {
|
||||
obj := Person{
|
||||
Name: null.StringFrom("Alice"),
|
||||
Sex: null.BoolFrom(false),
|
||||
Sex: null.BoolFrom(true),
|
||||
Age: null.IntFrom(18),
|
||||
Type: null.IntFrom(0),
|
||||
CreateTime: null.TimeFrom(time.Now()),
|
||||
@@ -207,7 +213,7 @@ func testInsert(driver string, db *sql.DB) int64 {
|
||||
Test: null.FloatFrom(2),
|
||||
}
|
||||
|
||||
id, errInsert := aorm.Use(db).Debug(false).Driver(driver).Insert(&obj)
|
||||
id, errInsert := aorm.Use(db).Debug(true).Driver(driver).Insert(&obj)
|
||||
if errInsert != nil {
|
||||
panic(driver + " testInsert " + "found err: " + errInsert.Error())
|
||||
}
|
||||
@@ -217,34 +223,34 @@ func testInsert(driver string, db *sql.DB) int64 {
|
||||
ArticleBody: null.StringFrom("文章内容"),
|
||||
})
|
||||
|
||||
var person Person
|
||||
err := aorm.Use(db).Table("person").Debug(false).Driver(driver).WhereEq("id", id).OrderBy("id", "DESC").GetOne(&person)
|
||||
var personItem Person
|
||||
err := aorm.Use(db).Table(&person).Debug(true).Driver(driver).Table(&person).WhereEq(&person.Id, id).OrderBy(&person.Id, builder.Desc).GetOne(&personItem)
|
||||
if err != nil {
|
||||
fmt.Println(err.Error())
|
||||
}
|
||||
|
||||
if obj.Name.String != person.Name.String {
|
||||
fmt.Println(driver + ",Name not match, expected: " + obj.Name.String + " ,but real is : " + person.Name.String)
|
||||
if obj.Name.String != personItem.Name.String {
|
||||
fmt.Println(driver + ",Name not match, expected: " + obj.Name.String + " ,but real is : " + personItem.Name.String)
|
||||
}
|
||||
|
||||
if obj.Sex.Bool != person.Sex.Bool {
|
||||
fmt.Println(driver + ",Sex not match, expected: " + fmt.Sprintf("%v", obj.Sex.Bool) + " ,but real is : " + fmt.Sprintf("%v", person.Sex.Bool))
|
||||
if obj.Sex.Bool != personItem.Sex.Bool {
|
||||
fmt.Println(driver + ",Sex not match, expected: " + fmt.Sprintf("%v", obj.Sex.Bool) + " ,but real is : " + fmt.Sprintf("%v", personItem.Sex.Bool))
|
||||
}
|
||||
|
||||
if obj.Age.Int64 != person.Age.Int64 {
|
||||
fmt.Println(driver + ",Age not match, expected: " + fmt.Sprintf("%v", obj.Age.Int64) + " ,but real is : " + fmt.Sprintf("%v", person.Age.Int64))
|
||||
if obj.Age.Int64 != personItem.Age.Int64 {
|
||||
fmt.Println(driver + ",Age not match, expected: " + fmt.Sprintf("%v", obj.Age.Int64) + " ,but real is : " + fmt.Sprintf("%v", personItem.Age.Int64))
|
||||
}
|
||||
|
||||
if obj.Type.Int64 != person.Type.Int64 {
|
||||
fmt.Println(driver + ",Type not match, expected: " + fmt.Sprintf("%v", obj.Type.Int64) + " ,but real is : " + fmt.Sprintf("%v", person.Type.Int64))
|
||||
if obj.Type.Int64 != personItem.Type.Int64 {
|
||||
fmt.Println(driver + ",Type not match, expected: " + fmt.Sprintf("%v", obj.Type.Int64) + " ,but real is : " + fmt.Sprintf("%v", personItem.Type.Int64))
|
||||
}
|
||||
|
||||
if obj.Money.Float64 != person.Money.Float64 {
|
||||
fmt.Println(driver + ",Money not match, expected: " + fmt.Sprintf("%v", obj.Money.Float64) + " ,but real is : " + fmt.Sprintf("%v", person.Money.Float64))
|
||||
if obj.Money.Float64 != personItem.Money.Float64 {
|
||||
fmt.Println(driver + ",Money not match, expected: " + fmt.Sprintf("%v", obj.Money.Float64) + " ,but real is : " + fmt.Sprintf("%v", personItem.Money.Float64))
|
||||
}
|
||||
|
||||
if obj.Test.Float64 != person.Test.Float64 {
|
||||
fmt.Println(driver + ",Test not match, expected: " + fmt.Sprintf("%v", obj.Test.Float64) + " ,but real is : " + fmt.Sprintf("%v", person.Test.Float64))
|
||||
if obj.Test.Float64 != personItem.Test.Float64 {
|
||||
fmt.Println(driver + ",Test not match, expected: " + fmt.Sprintf("%v", obj.Test.Float64) + " ,but real is : " + fmt.Sprintf("%v", personItem.Test.Float64))
|
||||
}
|
||||
|
||||
return id
|
||||
@@ -272,7 +278,7 @@ func testInsertBatch(driver string, db *sql.DB) int64 {
|
||||
Test: null.FloatFrom(200.15987654321987654321),
|
||||
})
|
||||
|
||||
count, err := aorm.Use(db).Debug(false).Driver(driver).InsertBatch(&batch)
|
||||
count, err := aorm.Use(db).Debug(true).Driver(driver).InsertBatch(&batch)
|
||||
if err != nil {
|
||||
panic(driver + " testInsertBatch " + "found err:" + err.Error())
|
||||
}
|
||||
@@ -281,8 +287,8 @@ func testInsertBatch(driver string, db *sql.DB) int64 {
|
||||
}
|
||||
|
||||
func testGetOne(driver string, db *sql.DB, id int64) {
|
||||
var person Person
|
||||
errFind := aorm.Use(db).Debug(false).Driver(driver).OrderBy("id", "DESC").Where(&Person{Id: null.IntFrom(id)}).GetOne(&person)
|
||||
var personItem Person
|
||||
errFind := aorm.Use(db).Debug(true).Driver(driver).Table(&person).OrderBy(&person.Id, builder.Desc).WhereEq(&person.Id, id).GetOne(&personItem)
|
||||
if errFind != nil {
|
||||
panic(driver + "testGetOne" + "found err")
|
||||
}
|
||||
@@ -290,398 +296,399 @@ func testGetOne(driver string, db *sql.DB, id int64) {
|
||||
|
||||
func testGetMany(driver string, db *sql.DB) {
|
||||
var list []Person
|
||||
errSelect := aorm.Use(db).Driver(driver).Debug(false).Where(&Person{Type: null.IntFrom(0)}).GetMany(&list)
|
||||
errSelect := aorm.Use(db).Driver(driver).Debug(true).Table(&person).WhereEq(&person.Type, 0).GetMany(&list)
|
||||
if errSelect != nil {
|
||||
panic(driver + " testGetMany " + "found err:" + errSelect.Error())
|
||||
}
|
||||
}
|
||||
|
||||
func testUpdate(driver string, db *sql.DB, id int64) {
|
||||
_, errUpdate := aorm.Use(db).Debug(false).Driver(driver).Where(&Person{Id: null.IntFrom(id)}).Update(&Person{Name: null.StringFrom("Bob")})
|
||||
_, errUpdate := aorm.Use(db).Debug(true).Driver(driver).WhereEq(&person.Id, id).Update(&Person{Name: null.StringFrom("Bob")})
|
||||
if errUpdate != nil {
|
||||
panic(driver + "testGetMany" + "found err")
|
||||
panic(driver + "testUpdate" + "found err")
|
||||
}
|
||||
}
|
||||
|
||||
func testDelete(driver string, db *sql.DB, id int64) {
|
||||
_, errDelete := aorm.Use(db).Driver(driver).Debug(false).Where(&Person{Id: null.IntFrom(id)}).Delete()
|
||||
_, errDelete := aorm.Use(db).Driver(driver).Debug(true).WhereEq(&person.Id, id).Delete()
|
||||
if errDelete != nil {
|
||||
panic(driver + "testDelete" + "found err")
|
||||
}
|
||||
}
|
||||
|
||||
func testExists(driver string, db *sql.DB, id int64) bool {
|
||||
exists, err := aorm.Use(db).Driver(driver).Debug(false).Where(&Person{Id: null.IntFrom(id)}).OrderBy("id", "DESC").Exists()
|
||||
exists, err := aorm.Use(db).Driver(driver).Debug(true).Table(&person).WhereEq(&person.Id, id).OrderBy("id", "DESC").Exists()
|
||||
if err != nil {
|
||||
panic(driver + " testExists " + "found err:" + err.Error())
|
||||
}
|
||||
return exists
|
||||
}
|
||||
|
||||
func testTable(driver string, db *sql.DB) {
|
||||
_, err := aorm.Use(db).Debug(false).Driver(driver).Table("person_1").Insert(&Person{Name: null.StringFrom("Cherry")})
|
||||
if err != nil {
|
||||
panic(driver + " testTable " + "found err:" + err.Error())
|
||||
}
|
||||
}
|
||||
//
|
||||
//func testTable(driver string, db *sql.DB) {
|
||||
// _, err := aorm.Use(db).Debug(false).Driver(driver).Table("person_1").Insert(&Person{Name: null.StringFrom("Cherry")})
|
||||
// if err != nil {
|
||||
// panic(driver + " testTable " + "found err:" + err.Error())
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//func testSelect(driver string, db *sql.DB) {
|
||||
// var listByFiled []Person
|
||||
// err := aorm.Use(db).Debug(false).Driver(driver).Select("name,age").Where(&Person{Age: null.IntFrom(18)}).GetMany(&listByFiled)
|
||||
// if err != nil {
|
||||
// panic(driver + " testSelect " + "found err:" + err.Error())
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//func testSelectWithSub(driver string, db *sql.DB) {
|
||||
// var listByFiled []PersonWithArticleCount
|
||||
//
|
||||
// sub := aorm.Sub().Table("article").SelectCount("id", "article_count_tem").WhereRaw("person_id", "=person.id")
|
||||
// err := aorm.Use(db).Debug(false).
|
||||
// Driver(driver).
|
||||
// SelectExp(&sub, "article_count").
|
||||
// Select("*").
|
||||
// Where(&Person{Age: null.IntFrom(18)}).
|
||||
// GetMany(&listByFiled)
|
||||
//
|
||||
// if err != nil {
|
||||
// panic(driver + " testSelectWithSub " + "found err:" + err.Error())
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//func testWhereWithSub(driver string, db *sql.DB) {
|
||||
// var listByFiled []Person
|
||||
//
|
||||
// sub := aorm.Sub().Table("article").Select("person_id").GroupBy("person_id").HavingGt("count(person_id)", 0)
|
||||
//
|
||||
// err := aorm.Use(db).Debug(false).
|
||||
// Table("person").
|
||||
// Driver(driver).
|
||||
// WhereIn("id", &sub).
|
||||
// GetMany(&listByFiled)
|
||||
//
|
||||
// if err != nil {
|
||||
// panic(driver + " testWhereWithSub " + "found err:" + err.Error())
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//func testWhere(driver string, db *sql.DB) {
|
||||
// var listByWhere []Person
|
||||
//
|
||||
// var where1 []builder.WhereItem
|
||||
// where1 = append(where1, builder.WhereItem{Field: "type", Opt: builder.Eq, Val: 0})
|
||||
// where1 = append(where1, builder.WhereItem{Field: "age", Opt: builder.In, Val: []int{18, 20}})
|
||||
// where1 = append(where1, builder.WhereItem{Field: "money", Opt: builder.Between, Val: []float64{100.1, 200.9}})
|
||||
// where1 = append(where1, builder.WhereItem{Field: "money", Opt: builder.Eq, Val: 100.15})
|
||||
// where1 = append(where1, builder.WhereItem{Field: "name", Opt: builder.Like, Val: []string{"%", "li", "%"}})
|
||||
//
|
||||
// err := aorm.Use(db).Debug(false).Driver(driver).Table("person").WhereArr(where1).GetMany(&listByWhere)
|
||||
// if err != nil {
|
||||
// panic(driver + "testWhere" + "found err")
|
||||
// }
|
||||
//}
|
||||
|
||||
func testSelect(driver string, db *sql.DB) {
|
||||
var listByFiled []Person
|
||||
err := aorm.Use(db).Debug(false).Driver(driver).Select("name,age").Where(&Person{Age: null.IntFrom(18)}).GetMany(&listByFiled)
|
||||
if err != nil {
|
||||
panic(driver + " testSelect " + "found err:" + err.Error())
|
||||
}
|
||||
}
|
||||
//func testJoin(driver string, db *sql.DB) {
|
||||
// var list2 []ArticleVO
|
||||
// var where2 []builder.WhereItem
|
||||
// where2 = append(where2, builder.WhereItem{Field: "o.type", Opt: builder.Eq, Val: 0})
|
||||
// where2 = append(where2, builder.WhereItem{Field: "p.age", Opt: builder.In, Val: []int{18, 20}})
|
||||
// err := aorm.Use(db).Debug(false).
|
||||
// Table("article o").
|
||||
// LeftJoin("person p", "p.id=o.person_id").
|
||||
// Select("o.*").
|
||||
// Select("p.name as person_name").
|
||||
// WhereArr(where2).
|
||||
// Driver(driver).
|
||||
// GetMany(&list2)
|
||||
// if err != nil {
|
||||
// panic(driver + " testWhere " + "found err " + err.Error())
|
||||
// }
|
||||
//}
|
||||
|
||||
func testSelectWithSub(driver string, db *sql.DB) {
|
||||
var listByFiled []PersonWithArticleCount
|
||||
//func testGroupBy(driver string, db *sql.DB) {
|
||||
// var personAge PersonAge
|
||||
// var where []builder.WhereItem
|
||||
// where = append(where, builder.WhereItem{Field: "type", Opt: builder.Eq, Val: 0})
|
||||
// err := aorm.Use(db).Debug(false).
|
||||
// Table("person").
|
||||
// Select("age").
|
||||
// Select("count(age) as age_count").
|
||||
// GroupBy("age").
|
||||
// WhereArr(where).
|
||||
// Driver(driver).
|
||||
// OrderBy("age", "DESC").
|
||||
// GetOne(&personAge)
|
||||
// if err != nil {
|
||||
// panic(driver + "testGroupBy" + "found err")
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//func testHaving(driver string, db *sql.DB) {
|
||||
// var listByHaving []PersonAge
|
||||
//
|
||||
// var where3 []builder.WhereItem
|
||||
// where3 = append(where3, builder.WhereItem{Field: "type", Opt: builder.Eq, Val: 0})
|
||||
//
|
||||
// var having []builder.WhereItem
|
||||
// having = append(having, builder.WhereItem{Field: "count(age)", Opt: builder.Gt, Val: 4})
|
||||
//
|
||||
// err := aorm.Use(db).Debug(false).
|
||||
// Table("person").
|
||||
// Select("age").
|
||||
// Select("count(age) as age_count").
|
||||
// GroupBy("age").
|
||||
// WhereArr(where3).
|
||||
// Driver(driver).
|
||||
// OrderBy("age", "DESC").
|
||||
// HavingArr(having).
|
||||
// GetMany(&listByHaving)
|
||||
// if err != nil {
|
||||
// panic(driver + " testHaving " + "found err")
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//func testOrderBy(driver string, db *sql.DB) {
|
||||
// var listByOrder []Person
|
||||
// var where []builder.WhereItem
|
||||
// where = append(where, builder.WhereItem{Field: "type", Opt: builder.Eq, Val: 0})
|
||||
// err := aorm.Use(db).Debug(false).
|
||||
// Table("person").
|
||||
// WhereArr(where).
|
||||
// OrderBy("age", builder.Desc).
|
||||
// Driver(driver).
|
||||
// GetMany(&listByOrder)
|
||||
// if err != nil {
|
||||
// panic(driver + "testOrderBy" + "found err")
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//func testLimit(driver string, db *sql.DB) {
|
||||
// var list3 []Person
|
||||
// var where1 []builder.WhereItem
|
||||
// where1 = append(where1, builder.WhereItem{Field: "type", Opt: builder.Eq, Val: 0})
|
||||
// err1 := aorm.Use(db).Debug(false).
|
||||
// Table("person").
|
||||
// WhereArr(where1).
|
||||
// Limit(50, 10).
|
||||
// Driver(driver).
|
||||
// OrderBy("id", "DESC").
|
||||
// GetMany(&list3)
|
||||
// if err1 != nil {
|
||||
// panic(driver + "testLimit" + "found err")
|
||||
// }
|
||||
//
|
||||
// var list4 []Person
|
||||
// var where2 []builder.WhereItem
|
||||
// where2 = append(where2, builder.WhereItem{Field: "type", Opt: builder.Eq, Val: 0})
|
||||
// err := aorm.Use(db).Debug(false).
|
||||
// Table("person").
|
||||
// WhereArr(where2).
|
||||
// Page(3, 10).
|
||||
// Driver(driver).
|
||||
// OrderBy("id", "DESC").
|
||||
// GetMany(&list4)
|
||||
// if err != nil {
|
||||
// panic(driver + "testPage" + "found err")
|
||||
// }
|
||||
//}
|
||||
|
||||
sub := aorm.Sub().Table("article").SelectCount("id", "article_count_tem").WhereRaw("person_id", "=person.id")
|
||||
err := aorm.Use(db).Debug(false).
|
||||
Driver(driver).
|
||||
SelectExp(&sub, "article_count").
|
||||
Select("*").
|
||||
Where(&Person{Age: null.IntFrom(18)}).
|
||||
GetMany(&listByFiled)
|
||||
//func testLock(driver string, db *sql.DB, id int64) {
|
||||
// if driver == model.Sqlite3 || driver == model.Mssql {
|
||||
// return
|
||||
// }
|
||||
//
|
||||
// var itemByLock Person
|
||||
// err := aorm.Use(db).
|
||||
// Debug(false).
|
||||
// LockForUpdate(true).
|
||||
// Where(&Person{Id: null.IntFrom(id)}).
|
||||
// Driver(driver).
|
||||
// OrderBy("id", "DESC").
|
||||
// GetOne(&itemByLock)
|
||||
// if err != nil {
|
||||
// panic(driver + "testLock" + "found err")
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//func testIncrement(driver string, db *sql.DB, id int64) {
|
||||
// _, err := aorm.Use(db).Debug(false).Where(&Person{Id: null.IntFrom(id)}).Driver(driver).Increment("age", 1)
|
||||
// if err != nil {
|
||||
// panic(driver + " testIncrement " + "found err:" + err.Error())
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//func testDecrement(driver string, db *sql.DB, id int64) {
|
||||
// _, err := aorm.Use(db).Debug(false).Where(&Person{Id: null.IntFrom(id)}).Driver(driver).Decrement("age", 2)
|
||||
// if err != nil {
|
||||
// panic(driver + "testDecrement" + "found err")
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//func testValue(driver string, db *sql.DB, id int64) {
|
||||
//
|
||||
// var name string
|
||||
// errName := aorm.Use(db).Debug(false).Driver(driver).OrderBy("id", "DESC").Where(&Person{Id: null.IntFrom(id)}).Value("name", &name)
|
||||
// if errName != nil {
|
||||
// panic(driver + "testValue" + "found err")
|
||||
// }
|
||||
//
|
||||
// var age int64
|
||||
// errAge := aorm.Use(db).Debug(false).Driver(driver).OrderBy("id", "DESC").Where(&Person{Id: null.IntFrom(id)}).Value("age", &age)
|
||||
// if errAge != nil {
|
||||
// panic(driver + "testValue" + "found err")
|
||||
// }
|
||||
//
|
||||
// var money float32
|
||||
// errMoney := aorm.Use(db).Debug(false).Driver(driver).OrderBy("id", "DESC").Where(&Person{Id: null.IntFrom(id)}).Value("money", &money)
|
||||
// if errMoney != nil {
|
||||
// panic(driver + "testValue" + "found err")
|
||||
// }
|
||||
//
|
||||
// var test float64
|
||||
// errTest := aorm.Use(db).Debug(false).Driver(driver).OrderBy("id", "DESC").Where(&Person{Id: null.IntFrom(id)}).Value("test", &test)
|
||||
// if errTest != nil {
|
||||
// panic(driver + "testValue" + "found err")
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//func testPluck(driver string, db *sql.DB) {
|
||||
//
|
||||
// var nameList []string
|
||||
// errNameList := aorm.Use(db).Debug(false).Driver(driver).OrderBy("id", "DESC").Where(&Person{Type: null.IntFrom(0)}).Limit(0, 3).Pluck("name", &nameList)
|
||||
// if errNameList != nil {
|
||||
// panic(driver + "testPluck" + "found err")
|
||||
// }
|
||||
//
|
||||
// var ageList []int64
|
||||
// errAgeList := aorm.Use(db).Debug(false).Driver(driver).OrderBy("id", "DESC").Where(&Person{Type: null.IntFrom(0)}).Limit(0, 3).Pluck("age", &ageList)
|
||||
// if errAgeList != nil {
|
||||
// panic(driver + "testPluck" + "found err:" + errAgeList.Error())
|
||||
// }
|
||||
//
|
||||
// var moneyList []float32
|
||||
// errMoneyList := aorm.Use(db).Debug(false).Driver(driver).OrderBy("id", "DESC").Where(&Person{Type: null.IntFrom(0)}).Limit(0, 3).Pluck("money", &moneyList)
|
||||
// if errMoneyList != nil {
|
||||
// panic(driver + "testPluck" + "found err")
|
||||
// }
|
||||
//
|
||||
// var testList []float64
|
||||
// errTestList := aorm.Use(db).Debug(false).Driver(driver).OrderBy("id", "DESC").Where(&Person{Type: null.IntFrom(0)}).Limit(0, 3).Pluck("test", &testList)
|
||||
// if errTestList != nil {
|
||||
// panic(driver + "testPluck" + "found err")
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//func testCount(driver string, db *sql.DB) {
|
||||
// _, err := aorm.Use(db).Debug(false).Where(&Person{Age: null.IntFrom(18)}).Driver(driver).Count("*")
|
||||
// if err != nil {
|
||||
// panic(driver + "testCount" + "found err")
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//func testSum(driver string, db *sql.DB) {
|
||||
// _, err := aorm.Use(db).Debug(false).Where(&Person{Age: null.IntFrom(18)}).Driver(driver).Sum("age")
|
||||
// if err != nil {
|
||||
// panic(driver + "testSum" + "found err")
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//func testAvg(driver string, db *sql.DB) {
|
||||
// _, err := aorm.Use(db).Debug(false).Where(&Person{Age: null.IntFrom(18)}).Driver(driver).Avg("age")
|
||||
// if err != nil {
|
||||
// panic(driver + "testAvg" + "found err")
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//func testMin(driver string, db *sql.DB) {
|
||||
// _, err := aorm.Use(db).Debug(false).Where(&Person{Age: null.IntFrom(18)}).Driver(driver).Min("age")
|
||||
// if err != nil {
|
||||
// panic(driver + "testMin" + "found err")
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//func testMax(driver string, db *sql.DB) {
|
||||
// _, err := aorm.Use(db).Debug(false).Where(&Person{Age: null.IntFrom(18)}).Driver(driver).Max("age")
|
||||
// if err != nil {
|
||||
// panic(driver + "testMax" + "found err")
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//func testExec(driver string, db *sql.DB) {
|
||||
// _, err := aorm.Use(db).Debug(false).Driver(driver).Exec("UPDATE person SET name = ? WHERE id=?", "Bob", 3)
|
||||
// if err != nil {
|
||||
// panic(driver + "testExec" + "found err")
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//func testTransaction(driver string, db *sql.DB) {
|
||||
// tx, _ := db.Begin()
|
||||
//
|
||||
// id, errInsert := aorm.Use(tx).Debug(false).Driver(driver).Insert(&Person{
|
||||
// Name: null.StringFrom("Alice"),
|
||||
// })
|
||||
//
|
||||
// if errInsert != nil {
|
||||
// tx.Rollback()
|
||||
// panic(driver + " testTransaction " + "found err:" + errInsert.Error())
|
||||
// return
|
||||
// }
|
||||
//
|
||||
// _, errCount := aorm.Use(tx).Debug(false).Driver(driver).Where(&Person{
|
||||
// Id: null.IntFrom(id),
|
||||
// }).Count("*")
|
||||
// if errCount != nil {
|
||||
// tx.Rollback()
|
||||
// panic(driver + "testTransaction" + "found err")
|
||||
// return
|
||||
// }
|
||||
//
|
||||
// var person Person
|
||||
// errPerson := aorm.Use(tx).Debug(false).Where(&Person{
|
||||
// Id: null.IntFrom(id),
|
||||
// }).Driver(driver).OrderBy("id", "DESC").GetOne(&person)
|
||||
// if errPerson != nil {
|
||||
// tx.Rollback()
|
||||
// panic(driver + "testTransaction" + "found err")
|
||||
// return
|
||||
// }
|
||||
//
|
||||
// _, errUpdate := aorm.Use(tx).Debug(false).Driver(driver).Where(&Person{
|
||||
// Id: null.IntFrom(id),
|
||||
// }).Update(&Person{
|
||||
// Name: null.StringFrom("Bob"),
|
||||
// })
|
||||
//
|
||||
// if errUpdate != nil {
|
||||
// tx.Rollback()
|
||||
// panic(driver + "testTransaction" + "found err")
|
||||
// return
|
||||
// }
|
||||
//
|
||||
// tx.Commit()
|
||||
//}
|
||||
//
|
||||
//func testTruncate(driver string, db *sql.DB) {
|
||||
// _, err := aorm.Use(db).Debug(false).Driver(driver).Table("person").Truncate()
|
||||
// if err != nil {
|
||||
// panic(driver + " testTruncate " + "found err")
|
||||
// }
|
||||
//}
|
||||
|
||||
if err != nil {
|
||||
panic(driver + " testSelectWithSub " + "found err:" + err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
func testWhereWithSub(driver string, db *sql.DB) {
|
||||
var listByFiled []Person
|
||||
|
||||
sub := aorm.Sub().Table("article").Select("person_id").GroupBy("person_id").HavingGt("count(person_id)", 0)
|
||||
|
||||
err := aorm.Use(db).Debug(false).
|
||||
Table("person").
|
||||
Driver(driver).
|
||||
WhereIn("id", &sub).
|
||||
GetMany(&listByFiled)
|
||||
|
||||
if err != nil {
|
||||
panic(driver + " testWhereWithSub " + "found err:" + err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
func testWhere(driver string, db *sql.DB) {
|
||||
var listByWhere []Person
|
||||
|
||||
var where1 []builder.WhereItem
|
||||
where1 = append(where1, builder.WhereItem{Field: "type", Opt: builder.Eq, Val: 0})
|
||||
where1 = append(where1, builder.WhereItem{Field: "age", Opt: builder.In, Val: []int{18, 20}})
|
||||
where1 = append(where1, builder.WhereItem{Field: "money", Opt: builder.Between, Val: []float64{100.1, 200.9}})
|
||||
where1 = append(where1, builder.WhereItem{Field: "money", Opt: builder.Eq, Val: 100.15})
|
||||
where1 = append(where1, builder.WhereItem{Field: "name", Opt: builder.Like, Val: []string{"%", "li", "%"}})
|
||||
|
||||
err := aorm.Use(db).Debug(false).Driver(driver).Table("person").WhereArr(where1).GetMany(&listByWhere)
|
||||
if err != nil {
|
||||
panic(driver + "testWhere" + "found err")
|
||||
}
|
||||
}
|
||||
|
||||
func testJoin(driver string, db *sql.DB) {
|
||||
var list2 []ArticleVO
|
||||
var where2 []builder.WhereItem
|
||||
where2 = append(where2, builder.WhereItem{Field: "o.type", Opt: builder.Eq, Val: 0})
|
||||
where2 = append(where2, builder.WhereItem{Field: "p.age", Opt: builder.In, Val: []int{18, 20}})
|
||||
err := aorm.Use(db).Debug(false).
|
||||
Table("article o").
|
||||
LeftJoin("person p", "p.id=o.person_id").
|
||||
Select("o.*").
|
||||
Select("p.name as person_name").
|
||||
WhereArr(where2).
|
||||
Driver(driver).
|
||||
GetMany(&list2)
|
||||
if err != nil {
|
||||
panic(driver + " testWhere " + "found err " + err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
func testGroupBy(driver string, db *sql.DB) {
|
||||
var personAge PersonAge
|
||||
var where []builder.WhereItem
|
||||
where = append(where, builder.WhereItem{Field: "type", Opt: builder.Eq, Val: 0})
|
||||
err := aorm.Use(db).Debug(false).
|
||||
Table("person").
|
||||
Select("age").
|
||||
Select("count(age) as age_count").
|
||||
GroupBy("age").
|
||||
WhereArr(where).
|
||||
Driver(driver).
|
||||
OrderBy("age", "DESC").
|
||||
GetOne(&personAge)
|
||||
if err != nil {
|
||||
panic(driver + "testGroupBy" + "found err")
|
||||
}
|
||||
}
|
||||
|
||||
func testHaving(driver string, db *sql.DB) {
|
||||
var listByHaving []PersonAge
|
||||
|
||||
var where3 []builder.WhereItem
|
||||
where3 = append(where3, builder.WhereItem{Field: "type", Opt: builder.Eq, Val: 0})
|
||||
|
||||
var having []builder.WhereItem
|
||||
having = append(having, builder.WhereItem{Field: "count(age)", Opt: builder.Gt, Val: 4})
|
||||
|
||||
err := aorm.Use(db).Debug(false).
|
||||
Table("person").
|
||||
Select("age").
|
||||
Select("count(age) as age_count").
|
||||
GroupBy("age").
|
||||
WhereArr(where3).
|
||||
Driver(driver).
|
||||
OrderBy("age", "DESC").
|
||||
HavingArr(having).
|
||||
GetMany(&listByHaving)
|
||||
if err != nil {
|
||||
panic(driver + " testHaving " + "found err")
|
||||
}
|
||||
}
|
||||
|
||||
func testOrderBy(driver string, db *sql.DB) {
|
||||
var listByOrder []Person
|
||||
var where []builder.WhereItem
|
||||
where = append(where, builder.WhereItem{Field: "type", Opt: builder.Eq, Val: 0})
|
||||
err := aorm.Use(db).Debug(false).
|
||||
Table("person").
|
||||
WhereArr(where).
|
||||
OrderBy("age", builder.Desc).
|
||||
Driver(driver).
|
||||
GetMany(&listByOrder)
|
||||
if err != nil {
|
||||
panic(driver + "testOrderBy" + "found err")
|
||||
}
|
||||
}
|
||||
|
||||
func testLimit(driver string, db *sql.DB) {
|
||||
var list3 []Person
|
||||
var where1 []builder.WhereItem
|
||||
where1 = append(where1, builder.WhereItem{Field: "type", Opt: builder.Eq, Val: 0})
|
||||
err1 := aorm.Use(db).Debug(false).
|
||||
Table("person").
|
||||
WhereArr(where1).
|
||||
Limit(50, 10).
|
||||
Driver(driver).
|
||||
OrderBy("id", "DESC").
|
||||
GetMany(&list3)
|
||||
if err1 != nil {
|
||||
panic(driver + "testLimit" + "found err")
|
||||
}
|
||||
|
||||
var list4 []Person
|
||||
var where2 []builder.WhereItem
|
||||
where2 = append(where2, builder.WhereItem{Field: "type", Opt: builder.Eq, Val: 0})
|
||||
err := aorm.Use(db).Debug(false).
|
||||
Table("person").
|
||||
WhereArr(where2).
|
||||
Page(3, 10).
|
||||
Driver(driver).
|
||||
OrderBy("id", "DESC").
|
||||
GetMany(&list4)
|
||||
if err != nil {
|
||||
panic(driver + "testPage" + "found err")
|
||||
}
|
||||
}
|
||||
|
||||
func testLock(driver string, db *sql.DB, id int64) {
|
||||
if driver == model.Sqlite3 || driver == model.Mssql {
|
||||
return
|
||||
}
|
||||
|
||||
var itemByLock Person
|
||||
err := aorm.Use(db).
|
||||
Debug(false).
|
||||
LockForUpdate(true).
|
||||
Where(&Person{Id: null.IntFrom(id)}).
|
||||
Driver(driver).
|
||||
OrderBy("id", "DESC").
|
||||
GetOne(&itemByLock)
|
||||
if err != nil {
|
||||
panic(driver + "testLock" + "found err")
|
||||
}
|
||||
}
|
||||
|
||||
func testIncrement(driver string, db *sql.DB, id int64) {
|
||||
_, err := aorm.Use(db).Debug(false).Where(&Person{Id: null.IntFrom(id)}).Driver(driver).Increment("age", 1)
|
||||
if err != nil {
|
||||
panic(driver + " testIncrement " + "found err:" + err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
func testDecrement(driver string, db *sql.DB, id int64) {
|
||||
_, err := aorm.Use(db).Debug(false).Where(&Person{Id: null.IntFrom(id)}).Driver(driver).Decrement("age", 2)
|
||||
if err != nil {
|
||||
panic(driver + "testDecrement" + "found err")
|
||||
}
|
||||
}
|
||||
|
||||
func testValue(driver string, db *sql.DB, id int64) {
|
||||
|
||||
var name string
|
||||
errName := aorm.Use(db).Debug(false).Driver(driver).OrderBy("id", "DESC").Where(&Person{Id: null.IntFrom(id)}).Value("name", &name)
|
||||
if errName != nil {
|
||||
panic(driver + "testValue" + "found err")
|
||||
}
|
||||
|
||||
var age int64
|
||||
errAge := aorm.Use(db).Debug(false).Driver(driver).OrderBy("id", "DESC").Where(&Person{Id: null.IntFrom(id)}).Value("age", &age)
|
||||
if errAge != nil {
|
||||
panic(driver + "testValue" + "found err")
|
||||
}
|
||||
|
||||
var money float32
|
||||
errMoney := aorm.Use(db).Debug(false).Driver(driver).OrderBy("id", "DESC").Where(&Person{Id: null.IntFrom(id)}).Value("money", &money)
|
||||
if errMoney != nil {
|
||||
panic(driver + "testValue" + "found err")
|
||||
}
|
||||
|
||||
var test float64
|
||||
errTest := aorm.Use(db).Debug(false).Driver(driver).OrderBy("id", "DESC").Where(&Person{Id: null.IntFrom(id)}).Value("test", &test)
|
||||
if errTest != nil {
|
||||
panic(driver + "testValue" + "found err")
|
||||
}
|
||||
}
|
||||
|
||||
func testPluck(driver string, db *sql.DB) {
|
||||
|
||||
var nameList []string
|
||||
errNameList := aorm.Use(db).Debug(false).Driver(driver).OrderBy("id", "DESC").Where(&Person{Type: null.IntFrom(0)}).Limit(0, 3).Pluck("name", &nameList)
|
||||
if errNameList != nil {
|
||||
panic(driver + "testPluck" + "found err")
|
||||
}
|
||||
|
||||
var ageList []int64
|
||||
errAgeList := aorm.Use(db).Debug(false).Driver(driver).OrderBy("id", "DESC").Where(&Person{Type: null.IntFrom(0)}).Limit(0, 3).Pluck("age", &ageList)
|
||||
if errAgeList != nil {
|
||||
panic(driver + "testPluck" + "found err:" + errAgeList.Error())
|
||||
}
|
||||
|
||||
var moneyList []float32
|
||||
errMoneyList := aorm.Use(db).Debug(false).Driver(driver).OrderBy("id", "DESC").Where(&Person{Type: null.IntFrom(0)}).Limit(0, 3).Pluck("money", &moneyList)
|
||||
if errMoneyList != nil {
|
||||
panic(driver + "testPluck" + "found err")
|
||||
}
|
||||
|
||||
var testList []float64
|
||||
errTestList := aorm.Use(db).Debug(false).Driver(driver).OrderBy("id", "DESC").Where(&Person{Type: null.IntFrom(0)}).Limit(0, 3).Pluck("test", &testList)
|
||||
if errTestList != nil {
|
||||
panic(driver + "testPluck" + "found err")
|
||||
}
|
||||
}
|
||||
|
||||
func testCount(driver string, db *sql.DB) {
|
||||
_, err := aorm.Use(db).Debug(false).Where(&Person{Age: null.IntFrom(18)}).Driver(driver).Count("*")
|
||||
if err != nil {
|
||||
panic(driver + "testCount" + "found err")
|
||||
}
|
||||
}
|
||||
|
||||
func testSum(driver string, db *sql.DB) {
|
||||
_, err := aorm.Use(db).Debug(false).Where(&Person{Age: null.IntFrom(18)}).Driver(driver).Sum("age")
|
||||
if err != nil {
|
||||
panic(driver + "testSum" + "found err")
|
||||
}
|
||||
}
|
||||
|
||||
func testAvg(driver string, db *sql.DB) {
|
||||
_, err := aorm.Use(db).Debug(false).Where(&Person{Age: null.IntFrom(18)}).Driver(driver).Avg("age")
|
||||
if err != nil {
|
||||
panic(driver + "testAvg" + "found err")
|
||||
}
|
||||
}
|
||||
|
||||
func testMin(driver string, db *sql.DB) {
|
||||
_, err := aorm.Use(db).Debug(false).Where(&Person{Age: null.IntFrom(18)}).Driver(driver).Min("age")
|
||||
if err != nil {
|
||||
panic(driver + "testMin" + "found err")
|
||||
}
|
||||
}
|
||||
|
||||
func testMax(driver string, db *sql.DB) {
|
||||
_, err := aorm.Use(db).Debug(false).Where(&Person{Age: null.IntFrom(18)}).Driver(driver).Max("age")
|
||||
if err != nil {
|
||||
panic(driver + "testMax" + "found err")
|
||||
}
|
||||
}
|
||||
|
||||
func testExec(driver string, db *sql.DB) {
|
||||
_, err := aorm.Use(db).Debug(false).Driver(driver).Exec("UPDATE person SET name = ? WHERE id=?", "Bob", 3)
|
||||
if err != nil {
|
||||
panic(driver + "testExec" + "found err")
|
||||
}
|
||||
}
|
||||
|
||||
func testTransaction(driver string, db *sql.DB) {
|
||||
tx, _ := db.Begin()
|
||||
|
||||
id, errInsert := aorm.Use(tx).Debug(false).Driver(driver).Insert(&Person{
|
||||
Name: null.StringFrom("Alice"),
|
||||
})
|
||||
|
||||
if errInsert != nil {
|
||||
tx.Rollback()
|
||||
panic(driver + " testTransaction " + "found err:" + errInsert.Error())
|
||||
return
|
||||
}
|
||||
|
||||
_, errCount := aorm.Use(tx).Debug(false).Driver(driver).Where(&Person{
|
||||
Id: null.IntFrom(id),
|
||||
}).Count("*")
|
||||
if errCount != nil {
|
||||
tx.Rollback()
|
||||
panic(driver + "testTransaction" + "found err")
|
||||
return
|
||||
}
|
||||
|
||||
var person Person
|
||||
errPerson := aorm.Use(tx).Debug(false).Where(&Person{
|
||||
Id: null.IntFrom(id),
|
||||
}).Driver(driver).OrderBy("id", "DESC").GetOne(&person)
|
||||
if errPerson != nil {
|
||||
tx.Rollback()
|
||||
panic(driver + "testTransaction" + "found err")
|
||||
return
|
||||
}
|
||||
|
||||
_, errUpdate := aorm.Use(tx).Debug(false).Driver(driver).Where(&Person{
|
||||
Id: null.IntFrom(id),
|
||||
}).Update(&Person{
|
||||
Name: null.StringFrom("Bob"),
|
||||
})
|
||||
|
||||
if errUpdate != nil {
|
||||
tx.Rollback()
|
||||
panic(driver + "testTransaction" + "found err")
|
||||
return
|
||||
}
|
||||
|
||||
tx.Commit()
|
||||
}
|
||||
|
||||
func testTruncate(driver string, db *sql.DB) {
|
||||
_, err := aorm.Use(db).Debug(false).Driver(driver).Table("person").Truncate()
|
||||
if err != nil {
|
||||
panic(driver + " testTruncate " + "found err")
|
||||
}
|
||||
}
|
||||
|
||||
func testHelper(driver string, db *sql.DB) {
|
||||
var list2 []ArticleVO
|
||||
var where2 []builder.WhereItem
|
||||
where2 = append(where2, builder.WhereItem{Field: "o.type", Opt: builder.Eq, Val: 0})
|
||||
where2 = append(where2, builder.WhereItem{Field: "p.age", Opt: builder.In, Val: []int{18, 20}})
|
||||
err := aorm.Use(db).Debug(false).
|
||||
Table("article o").
|
||||
LeftJoin("person p", helper.Ul("p.id=o.personId")).
|
||||
Select("o.*").
|
||||
Select(helper.Ul("p.name as personName")).
|
||||
WhereArr(where2).
|
||||
Driver(driver).
|
||||
GetMany(&list2)
|
||||
if err != nil {
|
||||
panic(driver + "testHelper" + "found err")
|
||||
}
|
||||
}
|
||||
//func testHelper(driver string, db *sql.DB) {
|
||||
// var list2 []ArticleVO
|
||||
// var where2 []builder.WhereItem
|
||||
// where2 = append(where2, builder.WhereItem{Field: "o.type", Opt: builder.Eq, Val: 0})
|
||||
// where2 = append(where2, builder.WhereItem{Field: "p.age", Opt: builder.In, Val: []int{18, 20}})
|
||||
// err := aorm.Use(db).Debug(false).
|
||||
// Table("article o").
|
||||
// LeftJoin("person p", helper.Ul("p.id=o.personId")).
|
||||
// Select("o.*").
|
||||
// Select(helper.Ul("p.name as personName")).
|
||||
// WhereArr(where2).
|
||||
// Driver(driver).
|
||||
// GetMany(&list2)
|
||||
// if err != nil {
|
||||
// panic(driver + "testHelper" + "found err")
|
||||
// }
|
||||
//}
|
||||
|
Reference in New Issue
Block a user