goma

Add Custom Query Example

create new file sql/updateAll.sql.

update quest set
    name = /* name */'test'
,   detail = /* detail */'test'
,   create_at = /* create_at */'2006/01/02 13:40:00'

create new file dao/quest_custom.go.

package dao

import (
    "database/sql"
    "log"

    "github.com/kyokomi/goma/example/entity"
    "github.com/kyokomi/goma"
)

// Update update quest table.
func (g QuestDao) UpdateAll(e entity.QuestEntity) (sql.Result, error) {

    args := goma.QueryArgs{
        "name":      e.Name,
        "detail":    e.Detail,
        "create_at": e.CreateAt,
    }
    queryString := queryArgs("quest", "updateAll", args)
    return g.Exec(queryString)
}

Usage

import your generate dao package.

import "xxxxxxx/yyyyyy/zzzz/entity"

Call

db, err := goma.Open("config.json")
if err != nil {
    log.Fatalln(err)
}
defer db.Close()

_, err = dao.Quest(db).UpdateAll(entity.QuestEntity{
    Name:     "test 2",
    Detail:   "test detail 2",
    CreateAt: time.Now(),
})
if err != nil {
    log.Fatalln(err)
}