f9a9b5a9 by Zheng Yang

new query builder based on driver

1 parent c667895c
Showing 1 changed file with 11 additions and 1 deletions
...@@ -14,6 +14,8 @@ ...@@ -14,6 +14,8 @@
14 14
15 package orm 15 package orm
16 16
17 import "errors"
18
17 type QueryBuilder interface { 19 type QueryBuilder interface {
18 Select(fields ...string) QueryWriter 20 Select(fields ...string) QueryWriter
19 From(tables ...string) QueryWriter 21 From(tables ...string) QueryWriter
...@@ -29,7 +31,15 @@ type QueryBuilder interface { ...@@ -29,7 +31,15 @@ type QueryBuilder interface {
29 String() string 31 String() string
30 } 32 }
31 33
32 func NewQueryBuilder() (qb QueryBuilder) { 34 func NewQueryBuilder(driver string) (qb QueryBuilder, err error) {
35 if driver == "mysql" {
33 qb = new(MySQLQueryBuilder) 36 qb = new(MySQLQueryBuilder)
37 } else if driver == "postgres" {
38 err = errors.New("postgres querybuilder is not supported yet!")
39 } else if driver == "sqlite" {
40 err = errors.New("sqlite querybuilder is not supported yet!")
41 } else {
42 err = errors.New("unknown driver for query builder!")
43 }
34 return 44 return
35 } 45 }
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!