Edited at

dbrで発行するSQLを確認する

dbr.NewBuffer()で取得したバッファから、プレースホルダー付きSQLとプレースホルダーにセットする値が確認できる。

因みにundefined: strings.Builderのエラーになる場合はgo version1.10以上にアップデートしてください。


sample.go

package main

import (
"fmt"

"github.com/gocraft/dbr/dialect"

_ "github.com/go-sql-driver/mysql"
"github.com/gocraft/dbr"
)

func main() {
// エラー処理は省略
conn, _ := dbr.Open("mysql", "user:pass@/example", nil)

sess := conn.NewSession(nil)
// userID = 1で検索するSQL
stmt := sess.Select("*").From("users").Where("id = ?", 1)

buf := dbr.NewBuffer()
stmt.Build(dialect.MySQL, buf)

fmt.Println(buf.String()) // SELECT * FROM users WHERE (id = ?)
fmt.Println(buf.Value()) // [1]
}