Commit cca0a3f7 authored by Zheng Yang's avatar Zheng Yang

name correction: QueryBuilder instead of QueryWriter

parent 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% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment