golib/gdb/sqldb/query_builder.go

41 lines
643 B
Go
Raw Normal View History

2023-09-05 15:18:12 +08:00
//
// query_builder.go
// Copyright (C) 2023 tiglog <me@tiglog.com>
//
// Distributed under terms of the MIT license.
//
package sqldb
import "reflect"
// 该功能用于改善记录查询,避免直接写表名
// TODO 实现 query builder
type join_item struct {
way string
table string
on string
}
type query_builder struct {
table string
fields string
conds []string
orderBy string
offset int
limit int
joins []join_item
}
func FromEntity(ent any) *query_builder {
tabM, err := dm.TableFor(reflect.TypeOf(ent), false)
if err != nil {
return nil
}
return &query_builder{
table: tabM.TableName,
}
}