April 2022
Beginner to intermediate
464 pages
6h 44m
Japanese
database/sql パッケージでデータベースの扱い方を触れる前に、Goでデータベースを扱うときの全体像を押さえておきましょう。データベース周辺の技術には大きく以下の3つのレイヤーがあります。
アプリケーションコード(ORMを含む)
汎用API
データベースドライバー
アプリケーションからデータベースにアクセスするためにはデータベース固有のプロトコルを用いてアクセスする必要があり、各データベース向けに実装されているドライバーを使います。レイヤーでいうと、データベースにもっとも近い層です。一方Goの database/sql パッケージはGoのアプリケーションから呼び出すためのAPIを提供します。データベースドライバーの実装に依存しない汎用的なAPIです。コネクションプーリングや並行処理の制御といった複雑な処理を database/sql パッケージで吸収します。標準ライブラリの database/sql パッケージを使うだけで安全でスケーラビリティがあるデータベースアクセスを実現できます 1 。ドライバー向けには database/sql/driver パッケージとしてインタフェースを提供しています。アプリケーションのコードから driver パッケージを利用することはありません。各データベースにアクセスするときは対象のドライバーをimport して利用します。Goの構造体をデータベースのスキーマあるいはテーブルにマッピングできる、いわゆるORMは標準ライブラリとしては提供されていません。 ...
Read now
Unlock full access