9.1 データベースの基本的な利用法
database/sql
パッケージでデータベースの扱い方を触れる前に、Goでデータベースを扱うときの全体像を押さえておきましょう。データベース周辺の技術には大きく以下の3つのレイヤーがあります。
アプリケーションコード(ORMを含む)
汎用API
データベースドライバー
アプリケーションからデータベースにアクセスするためにはデータベース固有のプロトコルを用いてアクセスする必要があり、各データベース向けに実装されているドライバーを使います。レイヤーでいうと、データベースにもっとも近い層です。一方Goの database/sql
パッケージはGoのアプリケーションから呼び出すためのAPIを提供します。データベースドライバーの実装に依存しない汎用的なAPIです。コネクションプーリングや並行処理の制御といった複雑な処理を database/sql
パッケージで吸収します。標準ライブラリの database/sql
パッケージを使うだけで安全でスケーラビリティがあるデータベースアクセスを実現できます 1 。ドライバー向けには database/sql/driver
パッケージとしてインタフェースを提供しています。アプリケーションのコードから driver
パッケージを利用することはありません。各データベースにアクセスするときは対象のドライバーをimport
して利用します。Goの構造体をデータベースのスキーマあるいはテーブルにマッピングできる、いわゆるORMは標準ライブラリとしては提供されていません。 ...
Get 実用 Go言語 ―システム開発の現場で知っておきたいアドバイス now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.