新しい言語の勉強始めたら最初は掲示板を作る、っていうのが自分のなかでパターン化してるのでそれに向けてまずはgolangからMySQLにつないでみた。ORM使えばこのへんは意識しないでいいんだろうけど、まあ触っておいて損はしないでしょ。
ドライバはgo-sql-driver/mysql使いました。インストールは
go get github.com/go-sql-driver/mysql
だけ。GOPATHが通ってないとめんどくさい。最初それでそこそこの時間溶かした。
package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" "os" ) func main() { var pub_date string var mod_date string db, err := sql.Open("mysql", "user:passwd@/some_db") if err != nil { os.Exit(1) } rows, err := db.Query("select pub_date, mod_date from some_table;") if err != nil { fmt.Println("ERROR") os.Exit(1) } for rows.Next() { rows.Scan(&pub_date, &mod_date) fmt.Println(pub_date, mod_date) } }
取ってきたフィールドが日付型なのは特に意味は無いです。golangには日付型が見当たらなかったのでどうなんのかなー、って。rowは構造体にしてそれを内包したmapを返却するようにしてラップすればいいのかな。