golangでRDBを実装
今、posgresとMySQLへの接続を実施するにあたり、実装方法を検討した。
今の構成
今はorマッパーを使ってもらず、sql packageを直で使っていて、アプリケーション層にSQLを記述している。
イメージ
if err := cnn.QueryRow("SELECT name FROM person WHERE id = ?LIMIT 1", id).Scan(&name); err != nil {
log.Fatal(err)
}
だけどこれだとモジュール単位で分けづらくて、テストがやりづらい。
MVC
こんなレベルにしようと思う。
.
├── main.go
├── config
├── controllers
├── models
モデル層は相互参照にぶつかりそうなので、注意は必要だと思う。
とりあえずかきながら整理する。