cca0a3f7 by Zheng Yang

name correction: QueryBuilder instead of QueryWriter

1 parent f9a9b5a9
...@@ -17,16 +17,16 @@ package orm ...@@ -17,16 +17,16 @@ package orm
17 import "errors" 17 import "errors"
18 18
19 type QueryBuilder interface { 19 type QueryBuilder interface {
20 Select(fields ...string) QueryWriter 20 Select(fields ...string) QueryBuilder
21 From(tables ...string) QueryWriter 21 From(tables ...string) QueryBuilder
22 Where(cond string) QueryWriter 22 Where(cond string) QueryBuilder
23 LimitOffset(limit int, offset int) QueryWriter 23 LimitOffset(limit int, offset int) QueryBuilder
24 InnerJoin(table string) QueryWriter 24 InnerJoin(table string) QueryBuilder
25 LeftJoin(table string) QueryWriter 25 LeftJoin(table string) QueryBuilder
26 On(cond string) QueryWriter 26 On(cond string) QueryBuilder
27 And(cond string) QueryWriter 27 And(cond string) QueryBuilder
28 Or(cond string) QueryWriter 28 Or(cond string) QueryBuilder
29 In(vals ...string) QueryWriter 29 In(vals ...string) QueryBuilder
30 Subquery(query string, rename string) string 30 Subquery(query string, rename string) string
31 String() string 31 String() string
32 } 32 }
......
...@@ -23,54 +23,54 @@ type MySQLQueryBuilder struct { ...@@ -23,54 +23,54 @@ type MySQLQueryBuilder struct {
23 QueryString []string 23 QueryString []string
24 } 24 }
25 25
26 func (qw *MySQLQueryBuilder) Select(fields ...string) QueryWriter { 26 func (qw *MySQLQueryBuilder) Select(fields ...string) QueryBuilder {
27 segment := fmt.Sprintf("SELECT %s", strings.Join(fields, ", ")) 27 segment := fmt.Sprintf("SELECT %s", strings.Join(fields, ", "))
28 qw.QueryString = append(qw.QueryString, segment) 28 qw.QueryString = append(qw.QueryString, segment)
29 return qw 29 return qw
30 } 30 }
31 31
32 func (qw *MySQLQueryBuilder) From(tables ...string) QueryWriter { 32 func (qw *MySQLQueryBuilder) From(tables ...string) QueryBuilder {
33 segment := fmt.Sprintf("FROM %s", strings.Join(tables, ", ")) 33 segment := fmt.Sprintf("FROM %s", strings.Join(tables, ", "))
34 qw.QueryString = append(qw.QueryString, segment) 34 qw.QueryString = append(qw.QueryString, segment)
35 return qw 35 return qw
36 } 36 }
37 37
38 func (qw *MySQLQueryBuilder) Where(cond string) QueryWriter { 38 func (qw *MySQLQueryBuilder) Where(cond string) QueryBuilder {
39 qw.QueryString = append(qw.QueryString, "WHERE "+cond) 39 qw.QueryString = append(qw.QueryString, "WHERE "+cond)
40 return qw 40 return qw
41 } 41 }
42 42
43 func (qw *MySQLQueryBuilder) LimitOffset(limit int, offset int) QueryWriter { 43 func (qw *MySQLQueryBuilder) LimitOffset(limit int, offset int) QueryBuilder {
44 qw.QueryString = append(qw.QueryString, fmt.Sprintf("LIMIT %d OFFSET %d", limit, offset)) 44 qw.QueryString = append(qw.QueryString, fmt.Sprintf("LIMIT %d OFFSET %d", limit, offset))
45 return qw 45 return qw
46 } 46 }
47 47
48 func (qw *MySQLQueryBuilder) InnerJoin(table string) QueryWriter { 48 func (qw *MySQLQueryBuilder) InnerJoin(table string) QueryBuilder {
49 qw.QueryString = append(qw.QueryString, "INNER JOIN "+table) 49 qw.QueryString = append(qw.QueryString, "INNER JOIN "+table)
50 return qw 50 return qw
51 } 51 }
52 52
53 func (qw *MySQLQueryBuilder) LeftJoin(table string) QueryWriter { 53 func (qw *MySQLQueryBuilder) LeftJoin(table string) QueryBuilder {
54 qw.QueryString = append(qw.QueryString, "LEFT JOIN "+table) 54 qw.QueryString = append(qw.QueryString, "LEFT JOIN "+table)
55 return qw 55 return qw
56 } 56 }
57 57
58 func (qw *MySQLQueryBuilder) On(cond string) QueryWriter { 58 func (qw *MySQLQueryBuilder) On(cond string) QueryBuilder {
59 qw.QueryString = append(qw.QueryString, "ON "+cond) 59 qw.QueryString = append(qw.QueryString, "ON "+cond)
60 return qw 60 return qw
61 } 61 }
62 62
63 func (qw *MySQLQueryBuilder) And(cond string) QueryWriter { 63 func (qw *MySQLQueryBuilder) And(cond string) QueryBuilder {
64 qw.QueryString = append(qw.QueryString, "AND "+cond) 64 qw.QueryString = append(qw.QueryString, "AND "+cond)
65 return qw 65 return qw
66 } 66 }
67 67
68 func (qw *MySQLQueryBuilder) Or(cond string) QueryWriter { 68 func (qw *MySQLQueryBuilder) Or(cond string) QueryBuilder {
69 qw.QueryString = append(qw.QueryString, "OR "+cond) 69 qw.QueryString = append(qw.QueryString, "OR "+cond)
70 return qw 70 return qw
71 } 71 }
72 72
73 func (qw *MySQLQueryBuilder) In(vals ...string) QueryWriter { 73 func (qw *MySQLQueryBuilder) In(vals ...string) QueryBuilder {
74 segment := fmt.Sprintf("IN (%s)", strings.Join(vals, ", ")) 74 segment := fmt.Sprintf("IN (%s)", strings.Join(vals, ", "))
75 qw.QueryString = append(qw.QueryString, segment) 75 qw.QueryString = append(qw.QueryString, segment)
76 return qw 76 return qw
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!