novaladip / qb

expiremental query builder

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WIP build status

qb (Query Builder)

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.

currently only support for postgres

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...)

About

expiremental query builder

License:MIT License


Languages

Language:Go 100.0%