6 Star 28 Fork 7

艾润物联/go-sqlbuilder

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
cgroup.go 1.03 KB
一键复制 编辑 原始数据 按行查看 历史
Yoojia Chen 提交于 2018-05-17 21:33 +08:00 . Rename package from sqlx to gsb
package gsb
import "bytes"
//
// Author: 陈永佳 chenyongjia@parkingwang.com, yoojiachen@gmail.com
//
type ConditionGroup struct {
buffer *bytes.Buffer
conditions SQLStatement
}
func Group(conditions SQLStatement) *ConditionGroup {
return newGroup(conditions)
}
func (slf *ConditionGroup) Group(conditions SQLStatement) *ConditionGroup {
slf.conditions = conditions
return slf
}
func (slf *ConditionGroup) And() *ConditionGroup {
return newGroupWith(slf, " AND ")
}
func (slf *ConditionGroup) Or() *ConditionGroup {
return newGroupWith(slf, " OR ")
}
func (slf *ConditionGroup) Compile() string {
slf.buffer.WriteString(brackets(slf.conditions.Compile()))
return slf.buffer.String()
}
//
func newGroup(conditions SQLStatement) *ConditionGroup {
return &ConditionGroup{
buffer: new(bytes.Buffer),
conditions: conditions,
}
}
func newGroupWith(preStatement SQLStatement, op string) *ConditionGroup {
group := newGroup(nil)
group.buffer.WriteString(preStatement.Compile())
group.buffer.WriteString(op)
return group
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/iRainIoT/go-sqlbuilder.git
git@gitee.com:iRainIoT/go-sqlbuilder.git
iRainIoT
go-sqlbuilder
go-sqlbuilder
37658dd0e549

搜索帮助