when I learn to make a rest-api with Go I face a case where I need a query builder to avoid DRY but because I'm absolutely new with Go and SQL, so I think it will be a good practice for me to create query builder by my self.
current features
- Select
- Where
- WhereIn
- WhereBetween
- WhereNotBetween
- AndWhere
- AndWhereIn
- AndBetween
- AndNotBetween
- OrderBy
- Limit
- Offset
- Join
- Left Join
- Right Join
- Inner Join
- Update
- Delete
- Insert
import "github.com/novaladip/qb"
gender := "M"
age := 20
// Don't forget to call the Build() method to generate Stmt & Args
// THE Build() METHOD SHOULD ONLY CALLED ONCE
sd := qb.Select("*").From("person")
sd.Where("age >=", age).AndWhere("gender =", gender).Build()
fmt.Println(sd.Stmt) // SELECT * FROM person WHERE age >= $1 AND gender = $2
fmt.Println(sd.Args) // [20, M]
rows, err := db.Query(sd.Stmt, sd.Args...)