Skip to main content

Get full access to 実用 Go言語 ―システム開発の現場で知っておきたいアドバイス and 60K+ other titles, with a free 10-day trial of O'Reilly.

There are also live events, courses curated by job role, and more.

9.1 データベースの基本的な利用法

database/sql パッケージでデータベースの扱い方を触れる前に、Goでデータベースを扱うときの全体像を押さえておきましょう。データベース周辺の技術には大きく以下の3つのレイヤーがあります。

  • アプリケーションコード(ORMを含む)

  • 汎用API

  • データベースドライバー

../_images/overview.png

アプリケーションからデータベースにアクセスするためにはデータベース固有のプロトコルを用いてアクセスする必要があり、各データベース向けに実装されているドライバーを使います。レイヤーでいうと、データベースにもっとも近い層です。一方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.

Don’t leave empty-handed

Get Mark Richards’s Software Architecture Patterns ebook to better understand how to design components—and how they should interact.

It’s yours, free.

Get it now
Cover of Software Architecture Patterns

Check it out now on O’Reilly

Dive in for free with a 10-day trial of the O’Reilly learning platform—then explore all the other resources our members count on to build skills and solve problems every day.

Start your free trial Become a member now