Go言語からORMマッパーをつかってMysqlを操作する
Go言語からMysqlを操作するサンプルを書いてみる。
ORMマッパー用の使えるライブラリがないか探してみたところ、gormというライブラリを試してみた基本機能はそろっている印象。実際使ってみても非常に使いやすい。 jinzhu.me
以下作業ログ
Package Install
まず必要なパッケージをinstall
go get github.com/jinzhu/gorm go get github.com/jinzhu/gorm/dialects/mysql
Migration
Table定義を構造体として設定する。
type Product struct { gorm.Model Code string Price uint }
カラムはアノテーションを使用して、振る舞いを柔軟に指定できる。
Id int64 `json:"id" gorm:"column:id;primary_key"`
以下の部分でmigrationを実行してくれる。便利。 productsテーブルが作成される。
// Migrate db.AutoMigrate(&Product{})
レコードを取得するには以下のように実行する。これもシンプル。
db.First(&product, 1)
最終的なコードサンプル全体はこちら、GORMのサンプルをすこしだけ変更してみる。 gist.github.com