mirror of https://github.com/lqs/sqlingo
1.9 KiB
1.9 KiB
sqlingo is a SQL DSL library in Go. It generates code from the database and lets you write SQL easily and correctly.
Tutorial
Install and use sqlingo code generator
In order to generate code, sqlingo requires your tables are already created in the database.
$ go get -u github.com/lqs/sqlingo/sqlingo-gen
$ mkdir -p generated/sqlingo
$ sqlingo-gen root:123456@/database_name >generated/sqlingo/database_name.dsl.go
Start using sqlingo
Create main.go to use the generated code
package main
import (
"github.com/lqs/sqlingo"
. "./generated/sqlingo"
)
func main() {
db, err := sqlingo.Open("mysql", "root:123456@/database_name")
if err != nil {
panic(err)
}
// insert some rows
customer1 := &CustomerModel{name: "Customer One"}
customer2 := &CustomerModel{name: "Customer Two"}
db.InsertInto(Customer).
Values(customer1, customer2).
Execute()
// do some queries
var customers []*CustomerModel
db.SelectFrom(Customer).
Where(Customer.Id.In(1, 2)).
FetchAll(&customers)
// more examples
var customerId int64
var orderId int64
db.Select(Customer.Id, Order.Id).
From(Customer, Order).
Where(Customer.Id.Equals(Order.CustomerId), Order.Id.Equals(1)).
FetchFirst(&customerId, &orderId)
}