提交 cca0a3f7 编写于 作者: Z Zheng Yang

name correction: QueryBuilder instead of QueryWriter

上级 f9a9b5a9
......@@ -17,16 +17,16 @@ package orm
import "errors"
type QueryBuilder interface {
Select(fields ...string) QueryWriter
From(tables ...string) QueryWriter
Where(cond string) QueryWriter
LimitOffset(limit int, offset int) QueryWriter
InnerJoin(table string) QueryWriter
LeftJoin(table string) QueryWriter
On(cond string) QueryWriter
And(cond string) QueryWriter
Or(cond string) QueryWriter
In(vals ...string) QueryWriter
Select(fields ...string) QueryBuilder
From(tables ...string) QueryBuilder
Where(cond string) QueryBuilder
LimitOffset(limit int, offset int) QueryBuilder
InnerJoin(table string) QueryBuilder
LeftJoin(table string) QueryBuilder
On(cond string) QueryBuilder
And(cond string) QueryBuilder
Or(cond string) QueryBuilder
In(vals ...string) QueryBuilder
Subquery(query string, rename string) string
String() string
}
......
......@@ -23,54 +23,54 @@ type MySQLQueryBuilder struct {
QueryString []string
}
func (qw *MySQLQueryBuilder) Select(fields ...string) QueryWriter {
func (qw *MySQLQueryBuilder) Select(fields ...string) QueryBuilder {
segment := fmt.Sprintf("SELECT %s", strings.Join(fields, ", "))
qw.QueryString = append(qw.QueryString, segment)
return qw
}
func (qw *MySQLQueryBuilder) From(tables ...string) QueryWriter {
func (qw *MySQLQueryBuilder) From(tables ...string) QueryBuilder {
segment := fmt.Sprintf("FROM %s", strings.Join(tables, ", "))
qw.QueryString = append(qw.QueryString, segment)
return qw
}
func (qw *MySQLQueryBuilder) Where(cond string) QueryWriter {
func (qw *MySQLQueryBuilder) Where(cond string) QueryBuilder {
qw.QueryString = append(qw.QueryString, "WHERE "+cond)
return qw
}
func (qw *MySQLQueryBuilder) LimitOffset(limit int, offset int) QueryWriter {
func (qw *MySQLQueryBuilder) LimitOffset(limit int, offset int) QueryBuilder {
qw.QueryString = append(qw.QueryString, fmt.Sprintf("LIMIT %d OFFSET %d", limit, offset))
return qw
}
func (qw *MySQLQueryBuilder) InnerJoin(table string) QueryWriter {
func (qw *MySQLQueryBuilder) InnerJoin(table string) QueryBuilder {
qw.QueryString = append(qw.QueryString, "INNER JOIN "+table)
return qw
}
func (qw *MySQLQueryBuilder) LeftJoin(table string) QueryWriter {
func (qw *MySQLQueryBuilder) LeftJoin(table string) QueryBuilder {
qw.QueryString = append(qw.QueryString, "LEFT JOIN "+table)
return qw
}
func (qw *MySQLQueryBuilder) On(cond string) QueryWriter {
func (qw *MySQLQueryBuilder) On(cond string) QueryBuilder {
qw.QueryString = append(qw.QueryString, "ON "+cond)
return qw
}
func (qw *MySQLQueryBuilder) And(cond string) QueryWriter {
func (qw *MySQLQueryBuilder) And(cond string) QueryBuilder {
qw.QueryString = append(qw.QueryString, "AND "+cond)
return qw
}
func (qw *MySQLQueryBuilder) Or(cond string) QueryWriter {
func (qw *MySQLQueryBuilder) Or(cond string) QueryBuilder {
qw.QueryString = append(qw.QueryString, "OR "+cond)
return qw
}
func (qw *MySQLQueryBuilder) In(vals ...string) QueryWriter {
func (qw *MySQLQueryBuilder) In(vals ...string) QueryBuilder {
segment := fmt.Sprintf("IN (%s)", strings.Join(vals, ", "))
qw.QueryString = append(qw.QueryString, segment)
return qw
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册