dbr.NewBuffer()
で取得したバッファから、プレースホルダー付きSQLとプレースホルダーにセットする値が確認できる。
因みにundefined: strings.Builder
のエラーになる場合はgo version
を1.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]
}